Josef Wolf <jw@xxxxxxxxxxxxx> 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 horizon. >> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html