AgeCommit message (Collapse)AuthorLines
Send a charset only with a text typeBryce Kwon-3/+3
Archives, packs and the HEAD file went out as octet-stream or gzip with a UTF-8 charset on the end, since only the blob page cleared it. The headers now decide from the type itself, so the two places that cleared the charset by hand no longer need to.
Test the hardening passBryce Kwon-2/+2
Settle the snapshot v-prefix from the tag listBryce Kwon-0/+34
`compose_snapshot_prefix` dropped the leading v of a tag only when just one of the names 1.2, v1.2 and V1.2 resolved as a tag, so that the shorter snapshot name could always be traced back to one tag. Those probes went through ref lookups, and on a case-insensitive filesystem a lookup for V1.2 finds the loose file of v1.2, so every freshly made tag counted as ambiguous and kept its v. Once git packed the refs the lookups became exact and the same tag quietly changed its snapshot names. The claimants on a stripped name are now counted over the tag list itself with exact string comparison, so the answer no longer depends on how a ref is stored or on the filesystem underneath. Two tags that really differ only by the letter's case still both keep it.
Trim the comments and dead code across the treeBryce Kwon-8/+5
Use registered snapshot MIME typesBryce Kwon-3/+3
Rewrite the snapshot test around one helperBryce Kwon-181/+72
Renumber the test scripts into themed rangesBryce Kwon-0/+227
t000x the ground the suite stands on: git version, html validity, the cache t01xx page content, one script per page t02xx features that cut across pages: filters, submodule links, dates, limits t03xx defence, the security regressions and the $HOME promise t04xx the helper tools under tools/