Re: push race
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:02
Nguyen Thai Ngoc Duy [off-list ref] writes:
On Tue, Oct 16, 2012 at 12:37 PM, Jeff King [off-list ref] wrote:quoted
I suspect a site that is heavy on alternates is invoking the index-pack code path more frequently than necessary (e.g., history gets pushed to one forked repo, then when it goes to the next one, we may not share the ref that tells the client we already have the object and receive it a second time).I suppose we could do the way unpack-objects does: prefer present objects and drop the new identical ones, no memcmp. Objects that are not bases, or are ref-delta bases, can be safely dropped. ofs-delta bases may lead to rewriting the pack. Do-able but not sure it's worth the effort.
Until you read all the incoming pack data, you won't know what objects are used as bases for others, so unless you are keeping everything in core, you would have to spool the incoming data to a file and then rewrite the final pack file to "drop" these "can be safely dropped" objects, with or without offset delta encoding.