diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SCMSvnDiffGenerator.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SCMSvnDiffGenerator.java index 81e40023f6..b1cac14ca6 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SCMSvnDiffGenerator.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SCMSvnDiffGenerator.java @@ -565,6 +565,8 @@ public class SCMSvnDiffGenerator implements ISvnDiffGenerator { } if (!useGitFormat){ displayBinary(mimeType1, mimeType2, outputStream, leftIsBinary, rightIsBinary); + } else { + displayBinaryGit(target, operation, outputStream); } return; @@ -590,6 +592,18 @@ public class SCMSvnDiffGenerator implements ISvnDiffGenerator { } } + private void displayBinaryGit(SvnTarget target, SvnDiffCallback.OperationKind operation, OutputStream outputStream) throws SVNException { + String path1 = operation == SvnDiffCallback.OperationKind.Added ? "/dev/null" : getRelativeToRootPath(target, originalTarget1); + String path2 = operation == SvnDiffCallback.OperationKind.Deleted ? "/dev/null" : getRelativeToRootPath(target, originalTarget2); + try { + displayString(outputStream, String.format("--- a/%s\n", path1)); + displayString(outputStream, String.format("+++ b/%s\n", path2)); + displayString(outputStream, "Binary files differ"); + } catch (IOException e) { + wrapException(e); + } + } + private void displayBinary(String mimeType1, String mimeType2, OutputStream outputStream, boolean leftIsBinary, boolean rightIsBinary) throws SVNException { displayCannotDisplayFileMarkedBinary(outputStream);