-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Junio C Hamano
committed
Nov 11, 2005
1 parent
9e5f4a5
commit 53de71f
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |