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

From: Jeff King <[email-masked]>
Date: Mon, 18 May 2026 21:03:54 -0400

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.

-Peff