diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-01-13 11:22:38 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-01-13 11:22:38 -0800 |
commit | be941a2c34d2d37285ee5932190d900b4a034c63 (patch) | |
tree | aab983ca9bc9cba0af2c5d1f7063497ee32df2ab /t | |
parent | Merge branch 'jk/cat-file-regression-fix' into maint (diff) | |
parent | rev-parse: be more careful with munging arguments (diff) | |
download | tgif-be941a2c34d2d37285ee5932190d900b4a034c63.tar.xz |
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-x | t/t1506-rev-parse-diagnosis.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh index f950c10128..613d9bfe1b 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 |