[PATCH] Additional merge-base tests
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
---
This demonstrates a problem with git-merge-base.
t6010-merge-base.sh | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+)
diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh
index 1dce123..9a815bd 100755
--- a/t/t6010-merge-base.sh
+++ b/t/t6010-merge-base.sh
@@ -44,6 +44,31 @@ A=$(doit 1 A $B)
G=$(doit 7 G $B $E)
H=$(doit 8 H $A $F)
+# Setup for second test set
+#
+# PL PR
+# / \/ \
+# L2 C2 R2
+# | | |
+# L1 C1 R1
+# | | |
+# L0 C0 R0
+# \ | /
+# S
+
+S=$(doit 0 S)
+C0=$(doit -3 C0 $S)
+L0=$(doit 2 L0 $S)
+R0=$(doit 2 R0 $S)
+C1=$(doit -2 C1 $C0)
+L1=$(doit 3 L1 $L0)
+R1=$(doit 3 R1 $R0)
+C2=$(doit -1 C2 $C1)
+L2=$(doit 4 L2 $L1)
+R2=$(doit 4 R2 $R1)
+PL=$(doit 1 PL $L2 $C2)
+PR=$(doit 1 PR $C2 $R2)
+
test_expect_success 'compute merge-base (single)' \
'MB=$(git-merge-base G H) &&
expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
@@ -56,4 +81,12 @@ test_expect_success 'compute merge-base
'MB=$(git-show-branch --merge-base G H) &&
expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
+test_expect_success 'compute merge-base (single)' \
+ 'MB=$(git-merge-base PL PR) &&
+ expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/C2"'
+
+test_expect_success 'compute merge-base (all)' \
+ 'MB=$(git-merge-base --all PL PR) &&
+ expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/C2"'
+
test_done