t9107: switch inverted single/double quotes in test

One of the test snippets in t9107 is enclosed in double
quotes, but then uses single quotes to surround an
interpolated variable inside the snippet, like:

  test_expect_success '...' "
	test -n '$head'
  "

This happens to work because the variable is interpolated
_before_ the snippet is run, and the result is eval'd. So as
long as the variable does not contain any single quotes, the
two are equivalent. And it doesn't, as we know it is a sha1
from rev-parse above.  But this construct is unnecessarily
confusing.

But we can go a step further in cleaning up. The test is
really checking that a particular ref has a value. Rather
than checking if rev-parse produced output, we can just move
rev-parse into the test itself, and rely on the exit code
from --verify. Nobody else cares about the $head variable at
all.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2016-05-13 16:47:24 -04:00 committed by Junio C Hamano
parent f831acc6c6
commit 9874576995

View File

@ -24,8 +24,9 @@ test_expect_success 'setup old-looking metadata' '
git update-ref -d refs/remotes/git-svn refs/remotes/git-svn git update-ref -d refs/remotes/git-svn refs/remotes/git-svn
' '
head=$(git rev-parse --verify refs/heads/git-svn-HEAD^0) test_expect_success 'git-svn-HEAD is a real HEAD' '
test_expect_success 'git-svn-HEAD is a real HEAD' "test -n '$head'" git rev-parse --verify refs/heads/git-svn-HEAD^0
'
svnrepo_escaped=$(echo $svnrepo | sed 's/ /%20/') svnrepo_escaped=$(echo $svnrepo | sed 's/ /%20/')