diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-06-08 02:55:19 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-08 02:55:19 -0700 |
commit | abc403f58452da667b261274a1091af61dfec35c (patch) | |
tree | 93e073859ddce0d1f2ce9067cb1adf93d73c9b7f /t | |
parent | 16befb8b7fbfcc9b2d38931f4081669558300adf (diff) | |
parent | 5035242c4785bd23c53827a1656b5f97394f724e (diff) | |
download | git-abc403f58452da667b261274a1091af61dfec35c.tar.gz |
Merge branch 'maint'
* maint:
checkout: do not get confused with ambiguous tag/branch names
Diffstat (limited to 't')
-rwxr-xr-x | t/t7201-co.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 5fa6a45577..ed2e9ee3c6 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -190,4 +190,44 @@ test_expect_success 'checkout to detach HEAD with HEAD^0' ' fi ' +test_expect_success 'checkout with ambiguous tag/branch names' ' + + git tag both side && + git branch both master && + git reset --hard && + git checkout master && + + git checkout both && + H=$(git rev-parse --verify HEAD) && + M=$(git show-ref -s --verify refs/heads/master) && + test "z$H" = "z$M" && + name=$(git symbolic-ref HEAD 2>/dev/null) && + test "z$name" = zrefs/heads/both + +' + +test_expect_success 'checkout with ambiguous tag/branch names' ' + + git reset --hard && + git checkout master && + + git tag frotz side && + git branch frotz master && + git reset --hard && + git checkout master && + + git checkout tags/frotz && + H=$(git rev-parse --verify HEAD) && + S=$(git show-ref -s --verify refs/heads/side) && + test "z$H" = "z$S" && + if name=$(git symbolic-ref HEAD 2>/dev/null) + then + echo "Bad -- should have detached" + false + else + : happy + fi + +' + test_done |