In one test, we use "git checkout --orphan HEAD" to create an unborn branch. Confusingly, the resulting branch is named "refs/heads/HEAD". The original probably meant something like: git checkout --orphan orphaned-branch HEAD Let's just use "orphaned-branch" here to make this less confusing. Putting HEAD in the second argument is already implied. Signed-off-by: Jeff King <peff@xxxxxxxx> --- This comes originally from Junio's 84679d470. I cannot see how naming the new branch HEAD would make any difference to the test, but perhaps I am missing something. I noticed this while digging on a nearby issue around "git branch -m @". This does happen to be the only test that checks that we can make a branch called refs/heads/HEAD, and I found it because it triggers if you try to disallow "git branch -m HEAD". :) If we care about that, though, I think we should make an explicit test for "git branch HEAD". But I'm not sure we _do_ care about that. Making a branch called HEAD is moderately insane, and I don't think it would be unreasonable for us to outlaw it at some point. t/t6300-for-each-ref.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index aea1dfc71..a468041c5 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -558,7 +558,7 @@ test_expect_success 'do not dereference NULL upon %(HEAD) on unborn branch' ' test_when_finished "git checkout master" && git for-each-ref --format="%(HEAD) %(refname:short)" refs/heads/ >actual && sed -e "s/^\* / /" actual >expect && - git checkout --orphan HEAD && + git checkout --orphan orphaned-branch && git for-each-ref --format="%(HEAD) %(refname:short)" refs/heads/ >actual && test_cmp expect actual ' -- 2.12.0.624.gbb1b07a2c