Skip to content

Commit 53de71f

Browse files
author
Junio C Hamano
committed
Add test case for merge-base.
Although it was shown that the "full contamination" was not really full during the list discussion, the series improves things without incurring extra parsing cost, and here is a test to check that. Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 9e5f4a5 commit 53de71f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

t/t6010-merge-base.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/sh
2+
#
3+
# Copyright (c) 2005 Junio C Hamano
4+
#
5+
6+
test_description='Merge base computation.
7+
'
8+
9+
. ./test-lib.sh
10+
11+
T=$(git-write-tree)
12+
13+
M=1130000000
14+
Z=+0000
15+
16+
export GIT_COMMITTER_EMAIL=git@comm.iter.xz
17+
export GIT_COMMITTER_NAME='C O Mmiter'
18+
export GIT_AUTHOR_NAME='A U Thor'
19+
export GIT_AUTHOR_EMAIL=git@au.thor.xz
20+
21+
doit() {
22+
OFFSET=$1; shift
23+
NAME=$1; shift
24+
PARENTS=
25+
for P
26+
do
27+
PARENTS="${PARENTS}-p $P "
28+
done
29+
GIT_COMMITTER_DATE="$(($M + $OFFSET)) $Z"
30+
GIT_AUTHOR_DATE=$GIT_COMMITTER_DATE
31+
export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
32+
commit=$(echo $NAME | git-commit-tree $T $PARENTS)
33+
echo $commit >.git/refs/tags/$NAME
34+
echo $commit
35+
}
36+
37+
# Setup...
38+
E=$(doit 5 E)
39+
D=$(doit 4 D $E)
40+
F=$(doit 6 F $E)
41+
C=$(doit 3 C $D)
42+
B=$(doit 2 B $C)
43+
A=$(doit 1 A $B)
44+
G=$(doit 7 G $B $E)
45+
H=$(doit 8 H $A $F)
46+
47+
test_expect_success 'compute merge-base (single)' \
48+
'MB=$(git-merge-base G H) &&
49+
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
50+
51+
test_expect_success 'compute merge-base (all)' \
52+
'MB=$(git-merge-base --all G H) &&
53+
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
54+
55+
test_expect_success 'compute merge-base with show-branch' \
56+
'MB=$(git-show-branch --merge-base G H) &&
57+
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
58+
59+
test_done

0 commit comments

Comments
 (0)