diff --git a/pom.xml b/pom.xml
index c198bf0b..640b9bdd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,7 +74,7 @@
org.eclipse.jgit
org.eclipse.jgit
- 6.3.0.202209071007-r
+ 6.9.0.202403050737-r
org.jetbrains.kotlin
diff --git a/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt b/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt
index c10b34b6..d0c1e5a4 100644
--- a/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt
+++ b/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt
@@ -63,6 +63,10 @@ fun lineBasedMerge(base: String, left: String, right: String): Pair
inConflict = true
}
lines.add(SporkPrettyPrinter.MID_CONFLICT)
+ } else if (chunk.conflictState
+ == MergeChunk.ConflictState.BASE_CONFLICTING_RANGE
+ ) {
+ continue
}
for (i in chunk.begin until chunk.end) {
lines.add(seq.getString(i))
diff --git a/src/test/java/se/kth/spork/LineBasedMergeTest.java b/src/test/java/se/kth/spork/LineBasedMergeTest.java
new file mode 100644
index 00000000..b0b3999d
--- /dev/null
+++ b/src/test/java/se/kth/spork/LineBasedMergeTest.java
@@ -0,0 +1,27 @@
+package se.kth.spork;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import kotlin.Pair;
+import org.junit.jupiter.api.Test;
+import se.kth.spork.util.LineBasedMergeKt;
+
+public class LineBasedMergeTest {
+
+ @Test
+ public void testMergeWithDeletionsMinimal() {
+ Pair result =
+ LineBasedMergeKt.lineBasedMerge("a\nB\nC\nD\ne", "a\nB\nC\ne", "a\nB\nD\ne");
+
+ assertEquals(
+ "a\n"
+ + "B\n"
+ + "<<<<<<< LEFT\n"
+ + "C\n"
+ + "=======\n"
+ + "D\n"
+ + ">>>>>>> RIGHT\n"
+ + "e",
+ result.component1());
+ }
+}