t5512: test "ls-remote --heads --symref" filtering with v0 and v2
commitc4716236f218cd1278bde43ed2e6773f1d2e667a
authorJeff King <peff@peff.net>
Fri, 14 Apr 2023 21:25:18 +0000 (14 17:25 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Apr 2023 22:08:13 +0000 (14 15:08 -0700)
treeeeb5c9336d8714cf824057609c603214cce64b90
parentd6747adfa832be381d2c537a4fd458034487ada1
t5512: test "ls-remote --heads --symref" filtering with v0 and v2

We have two overlapping tests for checking the behavior of "ls-remote
--symref" when filtering output. The first test checks that using
"--heads" will omit the symref for HEAD (since we don't print anything
about HEAD at all), but still prints other symrefs.

This has been marked as expecting failure since it was added in
99c08d4eb2 (ls-remote: add support for showing symrefs, 2016-01-19).
That's because back then, we only had the v0 protocol, and it only
reported on the HEAD symref, not others. But these days we have v2,
which does exactly what the test wants. It would even have started
unexpectedly passing when we switched to v2 by default, except that
b2f73b70b2 (t5512: compensate for v0 only sending HEAD symrefs,
2019-02-25) over-zealously marked it to run only in v0 mode.

So let's run it with both protocol versions, and adjust the expected
output for each. It passes in v2 without modification. In v0 mode, we'll
drop the extra symref, but this is still testing something useful: it
ensures that we do omit HEAD.

The test after this checks "--heads" again, this time using the expected
v0 output. That's now redundant. It also checks that limiting with a
pattern like "refs/heads/*" works similarly, but that's redundant with a
test earlier in the script which limits by HEAD (again, back then the
"HEAD" test was less interesting because there were no other symrefs to
omit, but in a modern v2 world, there are). So we can just delete that
second test entirely.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5512-ls-remote.sh