Jeff King <p...@peff.net> writes: > ... The reason we do not store thin-packs on disk is that you > run into problems with cycles in the delta graph (e.g., A deltas against > B, which deltas against C, which deltas against A; at one point you had > a full copy of one object which let you create the cycle, but you later > deleted it as redundant with the delta, and now you cannot reconstruct > any of the objects).
As an extension to that is that a thin-pack will make the "validity" of a single pack dependent on its surroundings, making "verify-pack" useless. It may say "everything is fine", but corruption of another pack that holds a base object a delta in it depends on will render the pack unusable. With the current arrangement, if you grab a single pack and re-idx it, you know you can reconstruct all the objects in it. The original reason was not cycles; it was primarily because we did not want to have to map more than one packfile while reconstructing the delta chain for a single object (this was way before the "open small mmap windows into a large packfile" was invented). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html