Jeff King <peff@xxxxxxxx> writes: > On Thu, Nov 11, 2021 at 09:32:29AM -0800, Junio C Hamano wrote: > >> ... So in this particular example, it would not matter if the >> new unsorted traversal is subtly broken (I think the extent of the >> damage is similar to making the SLOP problem deliberately worse), >> but I am not sure if there are other failure modes that would yield >> outright incorrect result. > > Yes, I think that framing is right: it is making SLOP much worse. We > could similarly have had bogus timestamps in those commits which would > cause the same outcome. So in that sense it is nothing new. On the other > hand, I wonder how often it will cause extra traversal work (keeping in > mind that this commit traversal is just the first stage; after we find > the commits, then we talk all of their trees, which is the more > expensive part). > > For the case of adding new commits directly on top of another branch, I > think there would be no change. But any time you have to walk down to a > common fork point (e.g., imagine I made a new branch forked from an old > bit of history), we may fail to find that. I haven't quite constructed > an example, but I have a feeling we could end up walking over > arbitrarily long segments of history. > ... > I'd be curious to hear Patrick's thoughts on the whole thing. Yes. I'm tempted to wait for him to chime in.