Class SvnDiffGenerator

    • Field Detail

      • WC_REVISION_LABEL

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

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

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

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

        private SvnTarget originalTarget1
      • originalTarget2

        private SvnTarget originalTarget2
      • 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
      • fallbackToAbsolutePath

        private boolean fallbackToAbsolutePath
      • propertiesOnly

        private boolean propertiesOnly
      • ignoreProperties

        private boolean ignoreProperties
    • Constructor Detail

      • SvnDiffGenerator

        public SvnDiffGenerator()
    • Method Detail

      • 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)
      • setRelativeToTarget

        public void setRelativeToTarget​(SvnTarget relativeToTarget)
      • isPropertiesOnly

        public boolean isPropertiesOnly()
      • setPropertiesOnly

        public void setPropertiesOnly​(boolean propertiesOnly)
      • isIgnoreProperties

        public boolean isIgnoreProperties()
      • setIgnoreProperties

        public void setIgnoreProperties​(boolean ignoreProperties)
      • throwBadRelativePathException

        private void throwBadRelativePathException​(java.lang.String displayPath,
                                                   java.lang.String relativeToPath)
                                            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)
      • 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
      • 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()
      • 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)
      • 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()
      • 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
      • 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)