From cbb05f8f22125bcb3b68461cbde4a0b6eddf10e9 Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Mon, 27 Mar 2017 20:09:23 +0300 Subject: [PATCH] [patch]: IDEA-170016 implement binary patch creation from prev revisions * (IDEA-160482, IDEA-160483) Support creating patch with binary files from shelve; * test added; --- .../openapi/vcs/changes/patch/BinaryPatchWriter.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/BinaryPatchWriter.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/BinaryPatchWriter.java index 9a8f14e7c717..cbf608b299ab 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/BinaryPatchWriter.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/BinaryPatchWriter.java @@ -25,7 +25,10 @@ import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.*; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.Writer; import java.util.List; import static com.intellij.openapi.vcs.changes.patch.BlobIndexUtil.NOT_COMMITTED_HASH; @@ -72,8 +75,7 @@ public class BinaryPatchWriter { writer.write(String.format(LITERAL_HEADER, afterContent == null ? 0 : afterContent.length)); writer.write(lineSeparator); try { - BinaryEncoder - .encode(afterFile.exists() ? new FileInputStream(afterFile) : new ByteArrayInputStream(ArrayUtil.EMPTY_BYTE_ARRAY), writer); + BinaryEncoder.encode(new ByteArrayInputStream(afterContent != null ? afterContent : ArrayUtil.EMPTY_BYTE_ARRAY), writer); } catch (BinaryEncoder.BinaryPatchException e) { LOG.error("Can't write patch for binary file: " + afterFile.getPath(), e);