Class SvnDiffGenerator

java.lang.Object
org.tmatesoft.svn.core.internal.wc2.ng.SvnDiffGenerator
All Implemented Interfaces:
ISvnDiffGenerator

public class SvnDiffGenerator extends java.lang.Object implements ISvnDiffGenerator
  • Field Details

    • WC_REVISION_LABEL

      protected static final java.lang.String WC_REVISION_LABEL
      See Also:
    • PROPERTIES_SEPARATOR

      protected static final java.lang.String PROPERTIES_SEPARATOR
      See Also:
    • HEADER_SEPARATOR

      protected static final java.lang.String HEADER_SEPARATOR
      See Also:
    • HEADER_ENCODING

      protected static final java.lang.String HEADER_ENCODING
      See Also:
    • originalTarget1

      private SvnTarget originalTarget1
    • originalTarget2

      private SvnTarget originalTarget2
    • baseTarget

      private SvnTarget baseTarget
    • relativeToTarget

      private SvnTarget relativeToTarget
    • repositoryRoot

      private SvnTarget repositoryRoot
    • encoding

      private java.lang.String encoding
    • eol

      private byte[] eol
    • useGitFormat

      private boolean useGitFormat
    • forcedBinaryDiff

      private boolean forcedBinaryDiff
    • diffDeleted

      private boolean diffDeleted
    • diffAdded

      private boolean diffAdded
    • rawDiffOptions

      private java.util.List<java.lang.String> rawDiffOptions
    • forceEmpty

      private boolean forceEmpty
    • visitedPaths

      private java.util.Set<java.lang.String> visitedPaths
    • externalDiffCommand

      private java.lang.String externalDiffCommand
    • diffOptions

      private SVNDiffOptions diffOptions
    • fallbackToAbsolutePath

      private boolean fallbackToAbsolutePath
    • options

      private ISVNOptions options
    • propertiesOnly

      private boolean propertiesOnly
    • ignoreProperties

      private boolean ignoreProperties
  • Constructor Details

    • SvnDiffGenerator

      public SvnDiffGenerator()
  • Method Details

    • getDisplayPath

      private java.lang.String getDisplayPath(SvnTarget target)
    • getRelativeToRootPath

      private java.lang.String getRelativeToRootPath(SvnTarget target, SvnTarget originalTarget)
    • getRelativePath

      private java.lang.String getRelativePath(java.lang.String targetString, java.lang.String baseTargetString)
    • getChildPath

      private java.lang.String getChildPath(java.lang.String path, java.lang.String relativeToPath)
    • setBaseTarget

      public void setBaseTarget(SvnTarget baseTarget)
      Specified by:
      setBaseTarget in interface ISvnDiffGenerator
    • setUseGitFormat

      public void setUseGitFormat(boolean useGitFormat)
      Specified by:
      setUseGitFormat in interface ISvnDiffGenerator
    • setOriginalTargets

      public void setOriginalTargets(SvnTarget originalTarget1, SvnTarget originalTarget2)
      Specified by:
      setOriginalTargets in interface ISvnDiffGenerator
    • setRelativeToTarget

      public void setRelativeToTarget(SvnTarget relativeToTarget)
    • setAnchors

      public void setAnchors(SvnTarget originalTarget1, SvnTarget originalTarget2)
      Specified by:
      setAnchors in interface ISvnDiffGenerator
    • setRepositoryRoot

      public void setRepositoryRoot(SvnTarget repositoryRoot)
      Specified by:
      setRepositoryRoot in interface ISvnDiffGenerator
    • setForceEmpty

      public void setForceEmpty(boolean forceEmpty)
      Specified by:
      setForceEmpty in interface ISvnDiffGenerator
    • setEncoding

      public void setEncoding(java.lang.String encoding)
      Specified by:
      setEncoding in interface ISvnDiffGenerator
    • getEncoding

      public java.lang.String getEncoding()
      Specified by:
      getEncoding in interface ISvnDiffGenerator
    • getGlobalEncoding

      public java.lang.String getGlobalEncoding()
      Specified by:
      getGlobalEncoding in interface ISvnDiffGenerator
    • setEOL

      public void setEOL(byte[] eol)
      Specified by:
      setEOL in interface ISvnDiffGenerator
    • getEOL

      public byte[] getEOL()
      Specified by:
      getEOL in interface ISvnDiffGenerator
    • isForcedBinaryDiff

      public boolean isForcedBinaryDiff()
      Specified by:
      isForcedBinaryDiff in interface ISvnDiffGenerator
    • setForcedBinaryDiff

      public void setForcedBinaryDiff(boolean forcedBinaryDiff)
      Specified by:
      setForcedBinaryDiff in interface ISvnDiffGenerator
    • isPropertiesOnly

      public boolean isPropertiesOnly()
    • setPropertiesOnly

      public void setPropertiesOnly(boolean propertiesOnly)
    • isIgnoreProperties

      public boolean isIgnoreProperties()
    • setIgnoreProperties

      public void setIgnoreProperties(boolean ignoreProperties)
    • displayDeletedDirectory

      public void displayDeletedDirectory(SvnTarget target, java.lang.String revision1, java.lang.String revision2, java.io.OutputStream outputStream) throws SVNException
      Specified by:
      displayDeletedDirectory in interface ISvnDiffGenerator
      Throws:
      SVNException
    • displayAddedDirectory

      public void displayAddedDirectory(SvnTarget target, java.lang.String revision1, java.lang.String revision2, java.io.OutputStream outputStream) throws SVNException
      Specified by:
      displayAddedDirectory in interface ISvnDiffGenerator
      Throws:
      SVNException
    • displayPropsChanged

      public void displayPropsChanged(SvnTarget target, java.lang.String revision1, java.lang.String revision2, boolean dirWasAdded, SVNProperties originalProps, SVNProperties propChanges, java.io.OutputStream outputStream) throws SVNException
      Specified by:
      displayPropsChanged in interface ISvnDiffGenerator
      Throws:
      SVNException
    • throwBadRelativePathException

      private void throwBadRelativePathException(java.lang.String displayPath, java.lang.String relativeToPath) throws SVNException
      Throws:
      SVNException
    • displayGitHeaderFields

      private void displayGitHeaderFields(java.io.OutputStream outputStream, SvnTarget target, java.lang.String revision1, java.lang.String revision2, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • adjustRelativeToReposRoot

      private java.lang.String adjustRelativeToReposRoot(java.lang.String targetString)
    • computeLabel

      private java.lang.String computeLabel(java.lang.String targetString, java.lang.String originalTargetString)
    • displayContentChanged

      public void displayContentChanged(SvnTarget target, java.io.File leftFile, java.io.File rightFile, java.lang.String revision1, java.lang.String revision2, java.lang.String mimeType1, java.lang.String mimeType2, SvnDiffCallback.OperationKind operation, java.io.File copyFromPath, SVNProperties originalProperties, SVNProperties propChanges, java.io.OutputStream outputStream) throws SVNException
      Specified by:
      displayContentChanged in interface ISvnDiffGenerator
      Throws:
      SVNException
    • displayBinary

      private void displayBinary(java.lang.String mimeType1, java.lang.String mimeType2, java.io.OutputStream outputStream, boolean leftIsBinary, boolean rightIsBinary) throws SVNException
      Throws:
      SVNException
    • internalDiff

      private void internalDiff(SvnTarget target, java.io.OutputStream outputStream, java.lang.String displayPath, java.io.File file1, java.io.File file2, java.lang.String label1, java.lang.String label2, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath, java.lang.String revision1, java.lang.String revision2) throws SVNException
      Throws:
      SVNException
    • getHeaderFieldsString

      private java.lang.String getHeaderFieldsString(SvnTarget target, java.lang.String displayPath, java.lang.String label1, java.lang.String label2, java.lang.String revision1, java.lang.String revision2, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • getHeaderString

      private java.lang.String getHeaderString(SvnTarget target, java.lang.String displayPath, boolean deleted, boolean added, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • runExternalDiffCommand

      private void runExternalDiffCommand(java.io.OutputStream outputStream, java.lang.String diffCommand, java.io.File file1, java.io.File file2, java.lang.String label1, java.lang.String label2) throws SVNException
      Throws:
      SVNException
    • getExternalDiffCommand

      private java.lang.String getExternalDiffCommand()
    • displayMimeType

      private void displayMimeType(java.io.OutputStream outputStream, java.lang.String mimeType) throws SVNException
      Throws:
      SVNException
    • displayMimeTypes

      private void displayMimeTypes(java.io.OutputStream outputStream, java.lang.String mimeType1, java.lang.String mimeType2) throws SVNException
      Throws:
      SVNException
    • displayCannotDisplayFileMarkedBinary

      private void displayCannotDisplayFileMarkedBinary(java.io.OutputStream outputStream) throws SVNException
      Throws:
      SVNException
    • ensureEncodingAndEOLSet

      private void ensureEncodingAndEOLSet()
    • displayPropDiffValues

      private void displayPropDiffValues(java.io.OutputStream outputStream, SVNProperties diff, SVNProperties baseProps) throws SVNException
      Throws:
      SVNException
    • maybeAppendEOL

      private byte[] maybeAppendEOL(byte[] buffer)
    • getGitDiffLabel1

      private java.lang.String getGitDiffLabel1(SvnDiffCallback.OperationKind operationKind, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath, java.lang.String revision)
    • getGitDiffLabel2

      private java.lang.String getGitDiffLabel2(SvnDiffCallback.OperationKind operationKind, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath, java.lang.String revision)
    • displayGitDiffHeader

      private void displayGitDiffHeader(java.io.OutputStream outputStream, SvnDiffCallback.OperationKind operationKind, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayGitDiffHeaderAdded

      private void displayGitDiffHeaderAdded(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayGitDiffHeaderDeleted

      private void displayGitDiffHeaderDeleted(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayGitDiffHeaderCopied

      private void displayGitDiffHeaderCopied(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayGitDiffHeaderRenamed

      private void displayGitDiffHeaderRenamed(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayGitDiffHeaderModified

      private void displayGitDiffHeaderModified(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath) throws SVNException
      Throws:
      SVNException
    • displayFirstGitPath

      private void displayFirstGitPath(java.io.OutputStream outputStream, java.lang.String path1) throws java.io.IOException
      Throws:
      java.io.IOException
    • displaySecondGitPath

      private void displaySecondGitPath(java.io.OutputStream outputStream, java.lang.String path2) throws java.io.IOException
      Throws:
      java.io.IOException
    • displayFirstGitLabelPath

      private void displayFirstGitLabelPath(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String revision1, SvnDiffCallback.OperationKind operation) throws java.io.IOException
      Throws:
      java.io.IOException
    • displaySecondGitLabelPath

      private void displaySecondGitLabelPath(java.io.OutputStream outputStream, java.lang.String path2, java.lang.String revision2, SvnDiffCallback.OperationKind operation) throws java.io.IOException
      Throws:
      java.io.IOException
    • displayGitPath

      private void displayGitPath(java.io.OutputStream outputStream, java.lang.String path1, java.lang.String pathPrefix, boolean label) throws java.io.IOException
      Throws:
      java.io.IOException
    • getAdjustedPathWithLabel

      private java.lang.String getAdjustedPathWithLabel(java.lang.String displayPath, java.lang.String path, java.lang.String revision, java.lang.String commonAncestor)
    • getAdjustedPath

      private java.lang.String getAdjustedPath(java.lang.String displayPath, java.lang.String path1, java.lang.String commonAncestor)
    • getLabel

      protected java.lang.String getLabel(java.lang.String path, java.lang.String revToken)
    • displayHeader

      protected boolean displayHeader(java.io.OutputStream os, java.lang.String path, boolean deleted, boolean added, SvnDiffCallback.OperationKind operation) throws SVNException
      Throws:
      SVNException
    • displayHeaderFields

      protected void displayHeaderFields(java.io.OutputStream os, java.lang.String label1, java.lang.String label2) throws SVNException
      Throws:
      SVNException
    • displayPropertyChangesOn

      private void displayPropertyChangesOn(java.lang.String path, java.io.OutputStream outputStream) throws SVNException
      Throws:
      SVNException
    • getPropertyAsBytes

      private byte[] getPropertyAsBytes(SVNPropertyValue value, java.lang.String encoding)
    • displayMergeInfoDiff

      private void displayMergeInfoDiff(java.io.OutputStream outputStream, java.lang.String oldValue, java.lang.String newValue) throws SVNException, java.io.IOException
      Throws:
      SVNException
      java.io.IOException
    • useLocalFileSeparatorChar

      private boolean useLocalFileSeparatorChar()
    • isDiffDeleted

      public boolean isDiffDeleted()
    • isDiffAdded

      public boolean isDiffAdded()
    • wrapException

      private void wrapException(java.io.IOException e) throws SVNException
      Throws:
      SVNException
    • displayString

      private void displayString(java.io.OutputStream outputStream, java.lang.String s) throws java.io.IOException
      Throws:
      java.io.IOException
    • displayEOL

      private void displayEOL(java.io.OutputStream os) throws java.io.IOException
      Throws:
      java.io.IOException
    • getDiffOptions

      public SVNDiffOptions getDiffOptions()
    • setExternalDiffCommand

      public void setExternalDiffCommand(java.lang.String externalDiffCommand)
    • setRawDiffOptions

      public void setRawDiffOptions(java.util.List<java.lang.String> rawDiffOptions)
    • setDiffOptions

      public void setDiffOptions(SVNDiffOptions diffOptions)
    • setDiffDeleted

      public void setDiffDeleted(boolean diffDeleted)
    • setDiffAdded

      public void setDiffAdded(boolean diffAdded)
    • setBasePath

      public void setBasePath(java.io.File absoluteFile)
    • setFallbackToAbsolutePath

      public void setFallbackToAbsolutePath(boolean fallbackToAbsolutePath)
    • setOptions

      public void setOptions(ISVNOptions options)
    • getOptions

      public ISVNOptions getOptions()