Browse Source
If a hunk does not apply at the position stated in the hunk header try to determine its position using the old lines (context and deleted lines). This is still a far cry from a full git apply: it doesn't do binary patches, it doesn't handle git's whitespace options, and it's perhaps not the fastest on big patches. C git hashes the lines and uses these hashes to speed up matching hunks (and to do its whitespace magic). Bug: 562348 Change-Id: Id0796bba059d84e648769d5896f497fde0b787dd Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>master
Thomas Wolf
5 years ago
committed by
Matthias Sohn
14 changed files with 659 additions and 43 deletions
@ -0,0 +1,14 @@
|
||||
diff --git a/ShiftDown b/ShiftDown
|
||||
index 8b9727b..25dc192 100644
|
||||
--- a/ShiftDown
|
||||
+++ b/ShiftDown
|
||||
@@ -16,6 +16,9 @@
|
||||
something("A.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("A.c", "bar");
|
||||
+ }
|
||||
}
|
||||
|
||||
public class B {
|
@ -0,0 +1,24 @@
|
||||
diff --git a/ShiftDown2 b/ShiftDown2
|
||||
index 8b9727b..63353aa 100644
|
||||
--- a/ShiftDown2
|
||||
+++ b/ShiftDown2
|
||||
@@ -16,6 +16,9 @@
|
||||
something("A.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("A.c", "bar");
|
||||
+ }
|
||||
}
|
||||
|
||||
public class B {
|
||||
@@ -28,5 +31,9 @@
|
||||
something("B.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("B.c", "bar");
|
||||
+ }
|
||||
+
|
||||
}
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class D { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class E { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class F { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("A.c", "bar"); |
||||
} |
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("B.c", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,68 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class D { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class E { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class F { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,71 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class D { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class E { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class F { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("A.c", "bar"); |
||||
} |
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,68 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class D { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class E { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class F { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,14 @@
|
||||
diff --git a/ShiftUp b/ShiftUp
|
||||
index e1ee19c..5c6e9bc 100644
|
||||
--- a/ShiftUp
|
||||
+++ b/ShiftUp
|
||||
@@ -52,6 +52,9 @@
|
||||
something("A.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("A.c", "bar");
|
||||
+ }
|
||||
}
|
||||
|
||||
public class B {
|
@ -0,0 +1,23 @@
|
||||
diff --git a/ShiftUp2 b/ShiftUp2
|
||||
index e1ee19c..f010144 100644
|
||||
--- a/ShiftUp2
|
||||
+++ b/ShiftUp2
|
||||
@@ -52,6 +52,9 @@
|
||||
something("A.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("A.c", "bar");
|
||||
+ }
|
||||
}
|
||||
|
||||
public class B {
|
||||
@@ -64,5 +67,8 @@
|
||||
something("B.b", "bar");
|
||||
}
|
||||
|
||||
+ public void methodC() {
|
||||
+ something("B.c", "bar");
|
||||
+ }
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("A.c", "bar"); |
||||
} |
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("B.c", "bar"); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,32 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,35 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
public void methodC() { |
||||
something("A.c", "bar"); |
||||
} |
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,32 @@
|
||||
package org.eclipse.jgit.test.apply; |
||||
|
||||
public class TestClass { |
||||
|
||||
private void something(String prefix, String msg) { |
||||
System.out.println(prefix + ": " + msg); |
||||
} |
||||
|
||||
public class A { |
||||
|
||||
public void methodA() { |
||||
something("A.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("A.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
|
||||
public class B { |
||||
|
||||
public void methodA() { |
||||
something("B.a", "foo"); |
||||
} |
||||
|
||||
public void methodB() { |
||||
something("B.b", "bar"); |
||||
} |
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue