summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-01-13 19:22:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-01-13 19:22:38 (GMT)
commitbe941a2c34d2d37285ee5932190d900b4a034c63 (patch)
treeaab983ca9bc9cba0af2c5d1f7063497ee32df2ab /t
parent6845e8a62dca508819e9a95b9269054de8c7eda8 (diff)
parent62f162f8e7c28cd60f0c18f5e69933efd72659e0 (diff)
downloadgit-be941a2c34d2d37285ee5932190d900b4a034c63.zip
git-be941a2c34d2d37285ee5932190d900b4a034c63.tar.gz
git-be941a2c34d2d37285ee5932190d900b4a034c63.tar.bz2
Merge branch 'jk/rev-parse-double-dashes' into maint
"git rev-parse <revs> -- <paths>" did not implement the usual disambiguation rules the commands in the "git log" family used in the same way. * jk/rev-parse-double-dashes: rev-parse: be more careful with munging arguments rev-parse: correctly diagnose revision errors before "--"
Diffstat (limited to 't')
-rwxr-xr-xt/t1506-rev-parse-diagnosis.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh
index f950c10..613d9bf 100755
--- a/t/t1506-rev-parse-diagnosis.sh
+++ b/t/t1506-rev-parse-diagnosis.sh
@@ -196,4 +196,28 @@ test_expect_success 'dotdot is not an empty set' '
test_cmp expect actual
'
+test_expect_success 'arg before dashdash must be a revision (missing)' '
+ test_must_fail git rev-parse foobar -- 2>stderr &&
+ test_i18ngrep "bad revision" stderr
+'
+
+test_expect_success 'arg before dashdash must be a revision (file)' '
+ >foobar &&
+ test_must_fail git rev-parse foobar -- 2>stderr &&
+ test_i18ngrep "bad revision" stderr
+'
+
+test_expect_success 'arg before dashdash must be a revision (ambiguous)' '
+ >foobar &&
+ git update-ref refs/heads/foobar HEAD &&
+ {
+ # we do not want to use rev-parse here, because
+ # we are testing it
+ cat .git/refs/heads/foobar &&
+ printf "%s\n" --
+ } >expect &&
+ git rev-parse foobar -- >actual &&
+ test_cmp expect actual
+'
+
test_done