Josef Wolf <> writes:

> On Di, Sep 10, 2013 at 10:51:02 -0700, Junio C Hamano wrote:
>> Consider this simple history with only a handful of commits (as
>> usual, time flows from left to right):
>>               E
>>              /   
>>     A---B---C---D
>> where D is at the tip of the sending side, E is at the tip of the
>> receiving side.  The exchange goes roughly like this:
>>     (receiving side): what do you have?
>>     (sending side): my tip is at D.
>>     (receiving side): D?  I've never heard of it --- please give it
>>                       to me.  I have E.
> At this point, why would the receiving side not tell all the heads it knows
> about?

It did.  The receiving end had only one branch whose tip is E.  It
may have a tracking branch that knows where the tip of the sending
end used to be when it forked (which is C), so the above may say "I
have E and C".  It actually would say "I have B and A and ..." for a
bounded number of commits, but that does not fundamentally change
the picture---the important point is it is bounded and there is a

>> There are some work being done to optimize this further using
>> various techniques, but they are not ready yet.

And this still stands.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to