From: Junio C Hamano Date: Fri, 1 Apr 2011 23:16:23 +0000 (-0700) Subject: Merge "checkout ambiguous ref bugfix" into maint X-Git-Tag: v1.7.4.3~12 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d12d8ec9d728b0ce148f5a5caa68c858ef180d30;p=git.git Merge "checkout ambiguous ref bugfix" into maint * commit '0cb6ad3': checkout: fix bug with ambiguous refs --- d12d8ec9d728b0ce148f5a5caa68c858ef180d30 diff --cc t/t2019-checkout-ambiguous-ref.sh index 000000000,000000000..943541d40 new file mode 100755 --- /dev/null +++ b/t/t2019-checkout-ambiguous-ref.sh @@@ -1,0 -1,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 '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 'checkout reports switch to branch' ' ++ grep "Switched to branch" stderr && ++ ! grep "^HEAD is now at" stderr ++' ++ ++test_done