Skip to content

Commit

Permalink
contrib/subtree: fix broken &&-chains and revealed test error
Browse files Browse the repository at this point in the history
This fixes two instances where a &&-chain was broken in the subtree
tests and fixes a test error that was revealed because of this.

Many tests in t7900-subtree.sh make a commit and then use 'undo' to
reset the state for the next test. In the 'check hash of split' test,
an 'undo' was being invoked after a 'subtree split' even though the
particular invocation of 'subtree split' did not actually make a commit.
The subsequent check_equal was failing, but this failure was masked by
that broken &&-chain.

Removing this undo causes the failing check_equal to succeed but breaks
the a check_equal later on in the same test.

It turns out that an earlier test ('check if --message for merge works
with squash too') makes a commit but doesn't 'undo' to the state
expected by the remaining tests. None of the intervening tests cared
enough about the state of the test repo to fail and the spurious 'undo'
in 'check hash of split' restored the expected state for any remaining
test that might care.

Adding the missing 'undo' to 'check if --message for merge works
with squash too' and removing the spurious one from 'check hash of
split' fixes all tests once the &&-chains are completed.

Signed-off-by: Charles Bailey <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
hashpling authored and gitster committed Jun 22, 2015
1 parent 4120882 commit d417c24
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions contrib/subtree/t/t7900-subtree.sh
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ test_expect_success 'check if --message for merge works with squash too' '
test_expect_success 'merge new subproj history into subdir' '
git subtree merge --prefix=subdir FETCH_HEAD &&
git branch pre-split &&
check_equal ''"$(last_commit_message)"'' "Merge commit '"'"'"$(git rev-parse sub2)"'"'"' into mainline"
check_equal ''"$(last_commit_message)"'' "Merge commit '"'"'"$(git rev-parse sub2)"'"'"' into mainline" &&
undo
'

test_expect_success 'Check that prefix argument is required for split' '
Expand Down Expand Up @@ -218,9 +219,8 @@ test_expect_success 'check split with --branch' '

test_expect_success 'check hash of split' '
spl1=$(git subtree split --prefix subdir) &&
undo &&
git subtree split --prefix subdir --branch splitbr1test &&
check_equal ''"$(git rev-parse splitbr1test)"'' "$spl1"
check_equal ''"$(git rev-parse splitbr1test)"'' "$spl1" &&
git checkout splitbr1test &&
new_hash=$(git rev-parse HEAD~2) &&
git checkout mainline &&
Expand Down Expand Up @@ -269,7 +269,7 @@ test_expect_success 'add sub9' '
cd ..

test_expect_success 'split for sub8' '
split2=''"$(git subtree split --annotate='"'*'"' --prefix subdir/ --rejoin)"''
split2=''"$(git subtree split --annotate='"'*'"' --prefix subdir/ --rejoin)"'' &&
git branch split2 "$split2"
'

Expand Down

0 comments on commit d417c24

Please sign in to comment.