summaryrefslogtreecommitdiff
path: root/t/t2019-checkout-ambiguous-ref.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-02-15 18:43:45 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-02-15 18:43:45 (GMT)
commit6c74ce8c7db669f896a04a2743c09abaa6053173 (patch)
tree7176d2a3eaa4f8caf5c18fd0653344c731242498 /t/t2019-checkout-ambiguous-ref.sh
parentf8bd36a433768f1b11642faff5b88e3510aa8af8 (diff)
downloadgit-6c74ce8c7db669f896a04a2743c09abaa6053173.zip
git-6c74ce8c7db669f896a04a2743c09abaa6053173.tar.gz
git-6c74ce8c7db669f896a04a2743c09abaa6053173.tar.bz2
Rename t2019 with typo "amiguous" that meant "ambiguous"
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2019-checkout-ambiguous-ref.sh')
-rwxr-xr-xt/t2019-checkout-ambiguous-ref.sh59
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 0000000..943541d
--- /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 '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