The .rev table for a pack: index positions (the rank of each object in
the oid-sorted .idx) listed in pack order (ascending pack offset), as
upstream write_rev_file lays them out. Accepts entries in any order;
the result feeds PackReverseIndex::write.
Like read_object_at_with_cache_arc, but lets an object-database caller
recover an ofs-delta base from another storage copy when the in-pack base
offset cannot be decoded. Direct pack verification should keep using the
strict APIs; this hook mirrors normal object lookup, where a corrupt packed
copy does not hide a good loose or redundant packed copy.
Like read_object_header_at but threads a caller-owned HeaderTypeCache
through the read so (a) the ofs-delta chain’s end-of-chain type is resolved at
most once per chain and (b) a repeated lookup of the same offset returns from
the memo without re-inflating (sley#26). The cache is keyed by in-pack offset,
so it must be scoped to a single pack’s bytes by the caller.