On Tue, Apr 8, 2025 at 5:21 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > t9811: be more precise to check tag creation > > The tests grep tagnames they expect to exist from "git tag" s/tagnames/tag names/ perhaps? > output, which can be fooled by false positive if an unexpected > tag whose name has the expected tagname as its substring. Fix > them by using "git show-ref --verify" instead. > > While we are at it, add a negative test to verify that a tag > that is involved in earlier tests that is not supposed to appear > in the result does indeed not appear in the resulting > repository. > > Incidentally, this would also correct the problem the original > had, which lost the exit status of "git tag" that was placed > upstream of a pipe. > > or something, perhaps? Yes, better and much more illuminating. > > - git tag | grep TAG_F1 && > > - git tag | grep -q TAG_F1_1 && > > - git tag | grep -q TAG_F1_2 && > > + git tag && > > + git show-ref --verify refs/tags/TAG_F1_1 && > > + git show-ref --verify refs/tags/TAG_F1_2 && > > + test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY && Do we still need the standalone `git tag` invocation above? > > @@ -208,7 +209,7 @@ test_expect_success 'use git config to enable import/export of tags' ' > > git p4 submit --verbose && > > git tag && > > - git tag | grep TAG_F1_1 > > + git show-ref --verify refs/tags/TAG_F1_1 && Similarly, it's not clear why there is a standalone `git tag` invocation here. Does it buy us anything or am I missing something obvious? The originating commit[*] doesn't explain its purpose. [*] e71f6a53e2 (git p4: add test for tag import/export enabled via config, 2012-05-11)