@@ -34,6 +34,12 @@ doit() {
34
34
echo $commit
35
35
}
36
36
37
+ # E---D---C---B---A
38
+ # \'-_ \ \
39
+ # \ `---------G \
40
+ # \ \
41
+ # F----------------H
42
+
37
43
# Setup...
38
44
E=$( doit 5 E)
39
45
D=$( doit 4 D $E )
@@ -44,6 +50,18 @@ A=$(doit 1 A $B)
44
50
G=$( doit 7 G $B $E )
45
51
H=$( doit 8 H $A $F )
46
52
53
+ test_expect_success ' compute merge-base (single)' \
54
+ ' MB=$(git-merge-base G H) &&
55
+ expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
56
+
57
+ test_expect_success ' compute merge-base (all)' \
58
+ ' MB=$(git-merge-base --all G H) &&
59
+ expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
60
+
61
+ test_expect_success ' compute merge-base with show-branch' \
62
+ ' MB=$(git-show-branch --merge-base G H) &&
63
+ expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
64
+
47
65
# Setup for second test to demonstrate that relying on timestamps in a
48
66
# distributed SCM to provide a _consistent_ partial ordering of commits
49
67
# leads to insanity.
@@ -81,18 +99,6 @@ R2=$(doit 3 R2 $R1)
81
99
PL=$( doit 4 PL $L2 $C2 )
82
100
PR=$( doit 4 PR $C2 $R2 )
83
101
84
- test_expect_success ' compute merge-base (single)' \
85
- ' MB=$(git-merge-base G H) &&
86
- expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
87
-
88
- test_expect_success ' compute merge-base (all)' \
89
- ' MB=$(git-merge-base --all G H) &&
90
- expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
91
-
92
- test_expect_success ' compute merge-base with show-branch' \
93
- ' MB=$(git-show-branch --merge-base G H) &&
94
- expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
95
-
96
102
test_expect_success ' compute merge-base (single)' \
97
103
' MB=$(git-merge-base PL PR) &&
98
104
expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/C2"'
0 commit comments