From 92893d1f92b12922a41accd53da19b074090f15e Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Tue, 27 Nov 2012 08:51:31 +0100 Subject: [PATCH] Do not perform character translation on copies in patches Translation is unnecessary and risks damaging the file. Also ensure that we close the file if an I/O error occurs. Change-Id: Ieae6eb941fdeaa61f2611f4cd14dd39117aa12f9 --- .../src/org/eclipse/jgit/api/ApplyCommand.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java index 2bda76c323..2147a2e5c4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java @@ -43,6 +43,7 @@ package org.eclipse.jgit.api; import java.io.File; +import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; @@ -147,10 +148,14 @@ public class ApplyCommand extends GitCommand { case COPY: f = getFile(fh.getOldPath(), false); byte[] bs = IO.readFully(f); - FileWriter fw = new FileWriter(getFile(fh.getNewPath(), + FileOutputStream fos = new FileOutputStream(getFile( + fh.getNewPath(), true)); - fw.write(new String(bs)); - fw.close(); + try { + fos.write(bs); + } finally { + fos.close(); + } } r.addUpdatedFile(f); } -- 2.39.5