test for '!' handling in rev-parse's named commits

In anticipation of extending this behaviour, add tests verifying the
handling of exclamation marks when looking up a commit "by name".

Specifically, as documented: '<rev>^{/!Message}' should fail, as the '!'
prefix is reserved; while '<rev>^{!!Message}' should search for a commit
whose message contains the string "!Message".

Signed-off-by: Will Palmer <wmpalmer@gmail.com>
Signed-off-by: Stephen P. Smith <ischis2@cox.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Will Palmer 2016-01-09 19:22:29 -07:00 committed by Junio C Hamano
parent 3d4a3ffe64
commit 06b6b68ff9

View File

@ -18,7 +18,15 @@ test_expect_success 'setup' '
git checkout master &&
echo modified >>a-blob &&
git add -u &&
git commit -m Modified
git commit -m Modified &&
git branch modref &&
echo changed! >>a-blob &&
git add -u &&
git commit -m !Exp &&
git branch expref &&
echo changed >>a-blob &&
git add -u &&
git commit -m Changed
'
test_expect_success 'ref^{non-existent}' '
@ -77,4 +85,18 @@ test_expect_success 'ref^{/Initial}' '
test_cmp expected actual
'
test_expect_success 'ref^{/!Exp}' '
test_must_fail git rev-parse master^{/!Exp}
'
test_expect_success 'ref^{/!}' '
test_must_fail git rev-parse master^{/!}
'
test_expect_success 'ref^{/!!Exp}' '
git rev-parse expref >expected &&
git rev-parse master^{/!!Exp} >actual &&
test_cmp expected actual
'
test_done