Christian Couder sent v2 of a 13-patch series that carries forward brian m. carlson's SHA-1/SHA-256 interoperability work. It adds support for reading and writing pack index v3, which stores object IDs in both the main and the compatibility hash algorithms. The goal is to map packed objects between algorithms, as the existing loose object map already does for loose objects. The series targets master at 47fdf2208c.

Most patches come from brian's sha256-interop-part-2 branch, which brian suggested for upstreaming. Patch 10 is new, added by Couder. It validates a v3 index when it is loaded, checking that the header, format entries and tables lie within the file, and rejecting duplicate formats and short names longer than the full object names. Order-map values are checked when read rather than at load time, so loading stays cheap, and the pack revindex gets bounds checks on its 8-byte offsets. A new test in t5313 covers an invalid order-map entry.

Other patches in the excerpts copy the v3 format documentation into gitformat-pack, with the hash-transition document keeping its copy for compatibility. They also teach object-name disambiguation to resolve IDs in any supported algorithm, and use the pack index to map packed objects when they are not in the loose object map. Packs with older indexes are skipped for that mapping. Another patch fixes a case where, in compatibility mode, streaming a large blob into a pack wrote the null OID into the index.

Junio C Hamano said he will replace the previous round. He asked that a new round's cover letter be a reply to the cover letter of the previous or first iteration, with all patches replying to the new cover letter, because sending a round as an unrelated thread keeps automation from working well.

Ben Knoble remarked that in such a long cover letter, the changes from prior versions would be more useful near the top. No technical objections to the patches appear in the excerpts, so the series' review status is unknown beyond these process comments.