Merge "Fix patch application WRT windows line endings."
This commit is contained in:
commit
ab439eed6e
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -178,6 +178,16 @@ public void testModifyZ() throws Exception {
|
|||
b.getString(0, b.size(), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testModifyNL1() throws Exception {
|
||||
ApplyResult result = init("NL1");
|
||||
assertEquals(1, result.getUpdatedFiles().size());
|
||||
assertEquals(new File(db.getWorkTree(), "NL1"), result
|
||||
.getUpdatedFiles().get(0));
|
||||
checkFile(new File(db.getWorkTree(), "NL1"),
|
||||
b.getString(0, b.size(), false));
|
||||
}
|
||||
|
||||
private static byte[] readFile(final String patchFile) throws IOException {
|
||||
final InputStream in = DiffFormatterReflowTest.class
|
||||
.getResourceAsStream(patchFile);
|
||||
|
|
|
@ -238,13 +238,10 @@ private void apply(File f, FileHeader fh)
|
|||
if (!isChanged(oldLines, newLines))
|
||||
return; // don't touch the file
|
||||
StringBuilder sb = new StringBuilder();
|
||||
final String eol = rt.size() == 0
|
||||
|| (rt.size() == 1 && rt.isMissingNewlineAtEnd()) ? "\n" : rt //$NON-NLS-1$
|
||||
.getLineDelimiter();
|
||||
for (String l : newLines) {
|
||||
sb.append(l);
|
||||
if (eol != null)
|
||||
sb.append(eol);
|
||||
// don't bother handling line endings - if it was windows, the \r is
|
||||
// still there!
|
||||
sb.append(l).append('\n');
|
||||
}
|
||||
sb.deleteCharAt(sb.length() - 1);
|
||||
FileWriter fw = new FileWriter(f);
|
||||
|
@ -252,7 +249,7 @@ private void apply(File f, FileHeader fh)
|
|||
fw.close();
|
||||
}
|
||||
|
||||
private boolean isChanged(List<String> ol, List<String> nl) {
|
||||
private static boolean isChanged(List<String> ol, List<String> nl) {
|
||||
if (ol.size() != nl.size())
|
||||
return true;
|
||||
for (int i = 0; i < ol.size(); i++)
|
||||
|
|
Loading…
Reference in New Issue