diff options
author | Junio C Hamano <junkio@cox.net> | 2007-04-07 02:19:54 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-04-07 02:19:54 -0700 |
commit | b7108a16a6d6a9cc9542d53e8898c0b927bfd59b (patch) | |
tree | ca1602e62e4cdbd362eb347f87e2523a5b94347f /t | |
parent | Merge branch 'maint' (diff) | |
parent | checkout: allow detaching to HEAD even when switching to the tip of a branch (diff) | |
download | tgif-b7108a16a6d6a9cc9542d53e8898c0b927bfd59b.tar.xz |
Merge branch 'jc/checkout' (early part)
* 'jc/checkout' (early part):
checkout: allow detaching to HEAD even when switching to the tip of a branch
Diffstat (limited to 't')
-rwxr-xr-x | t/t7201-co.sh | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 867bbd26cb..5fa6a45577 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -3,7 +3,20 @@ # Copyright (c) 2006 Junio C Hamano # -test_description='git-checkout tests.' +test_description='git-checkout tests. + +Creates master, forks renamer and side branches from it. +Test switching across them. + + ! [master] Initial A one, A two + * [renamer] Renamer R one->uno, M two + ! [side] Side M one, D two, A three + --- + + [side] Side M one, D two, A three + * [renamer] Renamer R one->uno, M two + +*+ [master] Initial A one, A two + +' . ./test-lib.sh @@ -129,4 +142,52 @@ test_expect_success 'checkout -m with merge conflict' ' ! test -s current ' +test_expect_success 'checkout to detach HEAD' ' + + git checkout -f renamer && git clean && + git checkout renamer^ && + H=$(git rev-parse --verify HEAD) && + M=$(git show-ref -s --verify refs/heads/master) && + test "z$H" = "z$M" && + if git symbolic-ref HEAD >/dev/null 2>&1 + then + echo "OOPS, HEAD is still symbolic???" + false + else + : happy + fi +' + +test_expect_success 'checkout to detach HEAD with branchname^' ' + + git checkout -f master && git clean && + git checkout renamer^ && + H=$(git rev-parse --verify HEAD) && + M=$(git show-ref -s --verify refs/heads/master) && + test "z$H" = "z$M" && + if git symbolic-ref HEAD >/dev/null 2>&1 + then + echo "OOPS, HEAD is still symbolic???" + false + else + : happy + fi +' + +test_expect_success 'checkout to detach HEAD with HEAD^0' ' + + git checkout -f master && git clean && + git checkout HEAD^0 && + H=$(git rev-parse --verify HEAD) && + M=$(git show-ref -s --verify refs/heads/master) && + test "z$H" = "z$M" && + if git symbolic-ref HEAD >/dev/null 2>&1 + then + echo "OOPS, HEAD is still symbolic???" + false + else + : happy + fi +' + test_done |