Show 24 quoted lines
> 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.