aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-04-04 00:10:21 -0700
committerJunio C Hamano <junkio@cox.net>2007-04-04 00:10:21 -0700
commitc0718268e810895d33a81929bebb7441c6582de6 (patch)
treecf452f2935cc06ed764b26500f8508458ac931d8 /t
parentbdceecbbd76c4b2bc045d2384635c09b85d94415 (diff)
parent1daa09d9a833d3969b64e763865a58df56bc3871 (diff)
downloadgit-c0718268e810895d33a81929bebb7441c6582de6.tar.gz
git-c0718268e810895d33a81929bebb7441c6582de6.tar.xz
Merge branch 'jc/bisect'
* jc/bisect: make the previous optimization work also on path-limited rev-list --bisect rev-list --bisect: Fix "halfway" optimization. t6004: add a bit more path optimization test. git-rev-list --bisect: optimization git-rev-list: add --bisect-vars option. t6002: minor spelling fix.
Diffstat (limited to 't')
-rwxr-xr-xt/t6002-rev-list-bisect.sh2
-rwxr-xr-xt/t6004-rev-list-path-optim.sh34
2 files changed, 34 insertions, 2 deletions
diff --git a/t/t6002-rev-list-bisect.sh b/t/t6002-rev-list-bisect.sh
index 7831e3461..fcb330276 100755
--- a/t/t6002-rev-list-bisect.sh
+++ b/t/t6002-rev-list-bisect.sh
@@ -163,7 +163,7 @@ test_sequence()
# the bisection point is the head - this is the bad point.
#
-test_output_expect_success "--bisect l5 ^root" 'git-rev-list $_bisect_option l5 ^root' <<EOF
+test_output_expect_success "$_bisect_option l5 ^root" 'git-rev-list $_bisect_option l5 ^root' <<EOF
c3
EOF
diff --git a/t/t6004-rev-list-path-optim.sh b/t/t6004-rev-list-path-optim.sh
index 5182dbb15..761f09b1e 100755
--- a/t/t6004-rev-list-path-optim.sh
+++ b/t/t6004-rev-list-path-optim.sh
@@ -7,7 +7,8 @@ test_description='git-rev-list trivial path optimization test'
test_expect_success setup '
echo Hello > a &&
git add a &&
-git commit -m "Initial commit" a
+git commit -m "Initial commit" a &&
+initial=$(git rev-parse --verify HEAD)
'
test_expect_success path-optimization '
@@ -16,4 +17,35 @@ test_expect_success path-optimization '
test $(git-rev-list $commit -- . | wc -l) = 1
'
+test_expect_success 'further setup' '
+ git checkout -b side &&
+ echo Irrelevant >c &&
+ git add c &&
+ git commit -m "Side makes an irrelevant commit" &&
+ echo "More Irrelevancy" >c &&
+ git add c &&
+ git commit -m "Side makes another irrelevant commit" &&
+ echo Bye >a &&
+ git add a &&
+ git commit -m "Side touches a" &&
+ side=$(git rev-parse --verify HEAD) &&
+ echo "Yet more Irrelevancy" >c &&
+ git add c &&
+ git commit -m "Side makes yet another irrelevant commit" &&
+ git checkout master &&
+ echo Another >b &&
+ git add b &&
+ git commit -m "Master touches b" &&
+ git merge side &&
+ echo Touched >b &&
+ git add b &&
+ git commit -m "Master touches b again"
+'
+
+test_expect_success 'path optimization 2' '
+ ( echo "$side"; echo "$initial" ) >expected &&
+ git rev-list HEAD -- a >actual &&
+ diff -u expected actual
+'
+
test_done