Browse Source

Merge "Fix diff bug on inserted line"

stable-1.0
Stefan Lay 14 years ago committed by Code Review
parent
commit
b13ca9121b
  1. 10
      org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/AbstractDiffTestCase.java
  2. 2
      org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffAlgorithm.java

10
org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/AbstractDiffTestCase.java

@ -191,7 +191,15 @@ public abstract class AbstractDiffTestCase {
public void testEdit_InsertNearCommonTail() {
EditList r = diff(t("aq}nb"), t("aCq}nD}nb"));
assertEquals(new Edit(1, 1, 1, 2), r.get(0));
assertEquals(new Edit(3, 3, 4, 7), r.get(1));
assertEquals(new Edit(4, 4, 5, 8), r.get(1));
assertEquals(2, r.size());
}
@Test
public void testEdit_LinuxBug() {
EditList r = diff(t("a{bcdE}z"), t("a{0bcdEE}z"));
assertEquals(new Edit(2, 2, 2, 3), r.get(0));
assertEquals(new Edit(6, 6, 7, 8), r.get(1));
assertEquals(2, r.size());
}

2
org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffAlgorithm.java

@ -126,7 +126,7 @@ public abstract class DiffAlgorithm {
Edit last = e.get(e.size() - 1);
if (last.getType() == Edit.Type.INSERT) {
while (last.endB < b.size()
&& cmp.equals(b, last.beginB, b, region.endB)) {
&& cmp.equals(b, last.beginB, b, last.endB)) {
last.beginA++;
last.endA++;
last.beginB++;

Loading…
Cancel
Save