Browse Source
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>maint
Junio C Hamano
19 years ago
1 changed files with 59 additions and 0 deletions
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2005 Junio C Hamano |
||||
# |
||||
|
||||
test_description='Merge base computation. |
||||
' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
T=$(git-write-tree) |
||||
|
||||
M=1130000000 |
||||
Z=+0000 |
||||
|
||||
export GIT_COMMITTER_EMAIL=git@comm.iter.xz |
||||
export GIT_COMMITTER_NAME='C O Mmiter' |
||||
export GIT_AUTHOR_NAME='A U Thor' |
||||
export GIT_AUTHOR_EMAIL=git@au.thor.xz |
||||
|
||||
doit() { |
||||
OFFSET=$1; shift |
||||
NAME=$1; shift |
||||
PARENTS= |
||||
for P |
||||
do |
||||
PARENTS="${PARENTS}-p $P " |
||||
done |
||||
GIT_COMMITTER_DATE="$(($M + $OFFSET)) $Z" |
||||
GIT_AUTHOR_DATE=$GIT_COMMITTER_DATE |
||||
export GIT_COMMITTER_DATE GIT_AUTHOR_DATE |
||||
commit=$(echo $NAME | git-commit-tree $T $PARENTS) |
||||
echo $commit >.git/refs/tags/$NAME |
||||
echo $commit |
||||
} |
||||
|
||||
# Setup... |
||||
E=$(doit 5 E) |
||||
D=$(doit 4 D $E) |
||||
F=$(doit 6 F $E) |
||||
C=$(doit 3 C $D) |
||||
B=$(doit 2 B $C) |
||||
A=$(doit 1 A $B) |
||||
G=$(doit 7 G $B $E) |
||||
H=$(doit 8 H $A $F) |
||||
|
||||
test_expect_success 'compute merge-base (single)' \ |
||||
'MB=$(git-merge-base G H) && |
||||
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"' |
||||
|
||||
test_expect_success 'compute merge-base (all)' \ |
||||
'MB=$(git-merge-base --all G H) && |
||||
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"' |
||||
|
||||
test_expect_success 'compute merge-base with show-branch' \ |
||||
'MB=$(git-show-branch --merge-base G H) && |
||||
expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"' |
||||
|
||||
test_done |
Loading…
Reference in new issue