t5604: do not expect that HEAD can be a valid tagname

09116a1c (refs: loosen over-strict "format" check, 2011-11-16) introduced a test piece (originally in t5700) that expects to be able to create a tag named "HEAD" and then a local clone using the repository as its own reference works correctly. Later, another test piece started using this tag starting at acede2eb (t5700: document a failure of alternates to affect fetch, 2012-02-11). But the breakage 09116a1c fixed was not specific to the tagname HEAD. It would have failed exactly the same way if the tag used were foo instead of HEAD. Before forbidding "git tag" from creating "refs/tags/HEAD", update these tests to use 'foo', not 'HEAD', as the name of the test tag. Note that the test piece that uses the tag learned the value of the tag in unnecessarily inefficient and convoluted way with for-each-ref. Just use "rev-parse" instead. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Dec 3, 2024 at 11:32 UTC e5ce5b05d09c17c3d6a1d95c4c822dd3a73a9100
1 file changed +3 -3
t/t5604-clone-reference.sh
+3 -3
@@ -131,7 +131,7 @@ test_expect_success 'cloning with multiple references drops duplicates' '
131
132 test_expect_success 'clone with reference from a tagged repository' '
133 (
134 - cd A && git tag -a -m tagged HEAD
134 + cd A && git tag -a -m tagged foo
135 ) &&
136 git clone --reference=A A I
137 '
@@ -156,10 +156,10 @@ test_expect_success 'fetch with incomplete alternates' '
156 git remote add J "file://$base_dir/J" &&
157 GIT_TRACE_PACKET=$U.K git fetch J
158 ) &&
159 - main_object=$(cd A && git for-each-ref --format="%(objectname)" refs/heads/main) &&
159 + main_object=$(git -C A rev-parse --verify refs/heads/main) &&
160 test -s "$U.K" &&
161 ! grep " want $main_object" "$U.K" &&
162 - tag_object=$(cd A && git for-each-ref --format="%(objectname)" refs/tags/HEAD) &&
162 + tag_object=$(git -C A rev-parse --verify refs/tags/foo) &&
163 ! grep " want $tag_object" "$U.K"
164 '
165