On Sat, Feb 28, 2015 at 4:18 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > >> Notice that with "recent" Git versions, ofs-delta objects are >> preferred over ref-delta objects and ref-delta objects have no reason >> to be present in a clone pack. > > It is true that we try to use ofs-delta as much as possible, but > where does "have no reason to be present" come from? Lack of knowledge, or writing without double checking the code. > When an object cannot be represented as an ofs-delta (which can only > refer backwards), don't we use ref-delta, instead of storing it as a > deflated-full object? Ah I think you're right. The decision to choose ofs-delta in pack-objects is if ofs-delta is enabled _and_ the offset to base is available (i.e. base is already written). > Probably "Not so ancient versions of Git tries to use ofs-delta > encoding whenever possible, so it is expected that objects encoded > using ref-delta are minority" may be closer to the truth. And that > observation does justify why using two separate pools (one with > 8-byte entries for ofs-delta, the other with 20-byte entries for > ref-delta) is a better idean than using one pool with 20-byte > entries for both kinds. Yes. Looks good. Should I send a patch, or you fix the commit message locally? -- 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