On Mi, Sep 11, 2013 at 10:14:54 -0700, Junio C Hamano wrote:
> Josef Wolf <j...@raven.inka.de> 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
Therefore, the sending sinde has all information it needs to do any
optimizations you can think of...
> >> There are some work being done to optimize this further using
> >> various techniques, but they are not ready yet.
> And this still stands.
Do you have a pointer or something? I'd like to check out whether I can
contribute to this work.
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