Subject: Re: [PATCH v3 0/2] commit-reach: use object flags for tips_reachable_from_bases()

From: Derrick Stolee <[email-masked]>
Date: Thu, 21 May 2026 18:50:25 -0400

On 5/18/26 9:03 PM, Jeff King wrote:
> On Sat, May 16, 2026 at 03:59:39PM +0000, Kristofer Karlsson via GitGitGadget wrote:
> 
>> v2 of this patch, addressing Jeff King's feedback:
>>
>>   * Replaced the decoration hash with the RESULT object flag (simpler, no
>>     extra data structure, handles duplicate tips naturally)
>>   * Fixed early-termination bug when multiple refs point to the same commit
>>     (the decoration API overwrites on duplicate keys)
>>   * Removed the now-unused index field from struct commit_and_index
>>   * Diff is +11/-12 lines
> 
> Using the object flag here is so much nicer. I see you're reusing the
> RESULT flag. I'm not sure offhand if there might be any conflict with
> other uses of that flag bit. I think probably not, since it looks like
> it is cleared by the other users after they leave their respective
> functions?
> 
> Using a direct set-inclusion check with the flag is nice, but we still
> look at min_generation_index. If I'm understanding the code right, this
> is mostly about counting the tips we've seen. Which at first glance
> means we could probably replace that code with some kind of counter. But
> I think maybe there is some notion of "crossing off" commits which we
> don't actually visit, but which we know become un-visitable because we
> traverse past their generation numbers.
> 
> I think. This is really the first time I'm looking at this code. So
> AFAICT your patch as-is is correct, but it would be nice to go an ACK
> from Stolee.

Sorry for the delay, but I finally took a close look at this version
and I'm happy with the use of the RESULT bit. You clean it up and
shouldn't interfer with the 19th bit being used in upload-pack.c as
the HIDDEN_REF bit.

Thanks,
-Stolee