diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-05-02 23:02:15 -0500 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2011-05-02 23:02:15 -0500 |
commit | 59445b0b02c731872c8665ac7e9cf1226fa616e4 (patch) | |
tree | 93922cf13ed9c62859dac628fa7e376977a23d24 /t/t2019-checkout-ambiguous-ref.sh | |
parent | Revert "t0081 (line-buffer): add buffering tests" (diff) | |
parent | Git 1.7.5 (diff) | |
download | tgif-59445b0b02c731872c8665ac7e9cf1226fa616e4.tar.xz |
Merge commit 'v1.7.5' into svn-fe
* commit 'v1.7.5': (436 commits)
Git 1.7.5
Git 1.7.5-rc3
Git 1.7.4.5
git-svn.txt: Document --mergeinfo
Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
...
Diffstat (limited to 't/t2019-checkout-ambiguous-ref.sh')
-rwxr-xr-x | t/t2019-checkout-ambiguous-ref.sh | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/t/t2019-checkout-ambiguous-ref.sh b/t/t2019-checkout-ambiguous-ref.sh new file mode 100755 index 0000000000..cc34e5535b --- /dev/null +++ b/t/t2019-checkout-ambiguous-ref.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +test_description='checkout handling of ambiguous (branch/tag) refs' +. ./test-lib.sh + +test_expect_success 'setup ambiguous refs' ' + test_commit branch file && + git branch ambiguity && + git branch vagueness && + test_commit tag file && + git tag ambiguity && + git tag vagueness HEAD:file && + test_commit other file +' + +test_expect_success 'checkout ambiguous ref succeeds' ' + git checkout ambiguity >stdout 2>stderr +' + +test_expect_success 'checkout produces ambiguity warning' ' + grep "warning.*ambiguous" stderr +' + +test_expect_success 'checkout chooses branch over tag' ' + echo refs/heads/ambiguity >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual && + echo branch >expect && + test_cmp expect file +' + +test_expect_success C_LOCALE_OUTPUT 'checkout reports switch to branch' ' + grep "Switched to branch" stderr && + ! grep "^HEAD is now at" stderr +' + +test_expect_success 'checkout vague ref succeeds' ' + git checkout vagueness >stdout 2>stderr && + test_set_prereq VAGUENESS_SUCCESS +' + +test_expect_success VAGUENESS_SUCCESS 'checkout produces ambiguity warning' ' + grep "warning.*ambiguous" stderr +' + +test_expect_success VAGUENESS_SUCCESS 'checkout chooses branch over tag' ' + echo refs/heads/vagueness >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual && + echo branch >expect && + test_cmp expect file +' + +test_expect_success VAGUENESS_SUCCESS,C_LOCALE_OUTPUT 'checkout reports switch to branch' ' + grep "Switched to branch" stderr && + ! grep "^HEAD is now at" stderr +' + +test_done |