Hi, On Tue, 4 Jul 2006, Junio C Hamano wrote: > A Large Angry SCM <gitzilla@xxxxxxxxx> writes: > > >> This is a good demonstration that merge-base may not give you > >> minimal set for pathological cases. If you want to be through > >> you could traverse everything to make sure we do not say 'S' is > >> relevant, but that is quite expensive, so I think there will > >> always be artifacts of horizon effect like this no matter how > >> you try to catch it (didn't I keep saying that already?). > > > > The problem is in mark_reachable_commits(); it is either superfluous > > or it needs to parse_commit() those commits that haven't been parsed > > yet that it needs to traverse. > > Yes, you could traverse everything. But that is not practical. > We have known that the clean-up pass has this horizon effect, > and it is a compromise. We could introduce a time.maximumSkew variable, and just walk only that much further when traversing the commits. So, if you do not trust your clients to have a proper ntp setup, just say "I trust my peers to be off at most 1 day". That would save lots vs traverse-everything. Ciao, Dscho - : 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