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
This commit is contained in:
Robin Rosenberg 2012-11-27 08:51:31 +01:00
parent c310fa0c80
commit 92893d1f92
1 changed files with 8 additions and 3 deletions

View File

@ -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 ApplyResult call() throws GitAPIException, PatchFormatException,
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);
}