On Fri, Sep 6, 2013 at 2:02 AM, Nicolas Pitre <nico@xxxxxxxxxxx> wrote: > I think that we've found a way to better support thin packs. > > You said: > >> What if the sender prepares the sha-1 table to contain missing objects >> in advance? The sender should know what base objects are missing. Then >> we only need to append objects at the receiving end and verify that >> all new objects are also present in the sha-1 table. > > So the SHA1 table is covered. > > Missing objects in a thin pack cannot themselves be deltas. We had > their undeltified form at the end of a pack for the pack to be complete. > Therefore those missing objects serve only as base objects for other > deltas. > > Although this is possible to have deltified commit objects in pack v2, I > don't think this happens very often. There is no deltified commit > objects in pack v4. > > Blob objects are the same in pack v2 and pack v4. No dictionary > references are needed. > > That leaves only tree objects. And because we've also discussed the > need to have non transcoded object representations for those odd cases > such as zero padded file modes, we might as well simply use that for the > appended tree objects already needed to complete a thin pack. At least > the strings in tree entries will be compressed that way. > > Problem solved, and one less special case in the code. > > What do you think? Agreed. > Please also remove this from your documentation patch. Will do. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html