From c86a2e202758f8fb8ccc834bc086cbb13307de28 Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Sat, 6 Apr 2024 19:14:40 +0200 Subject: [PATCH] Upgrade jgit to 6.9.0.202403050737-r Fixes #487. --- pom.xml | 2 +- .../se/kth/spork/util/LineBasedMerge.kt | 3 +++ .../java/se/kth/spork/LineBasedMergeTest.java | 27 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/test/java/se/kth/spork/LineBasedMergeTest.java 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..643f487d 100644 --- a/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt +++ b/src/main/kotlin/se/kth/spork/util/LineBasedMerge.kt @@ -63,6 +63,9 @@ 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..6af5bc70 --- /dev/null +++ b/src/test/java/se/kth/spork/LineBasedMergeTest.java @@ -0,0 +1,27 @@ +package se.kth.spork; + +import kotlin.Pair; +import org.junit.jupiter.api.Test; +import se.kth.spork.util.LineBasedMergeKt; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +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()); + } +}