Re: [PATCH v7 08/10] commit-reach: terminate merge-base walk when one paint side is exhausted

Kristofer Karlsson <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <CAL71e4ONrNcOh82upp8YT0b_0nZhxtEv_zFDb_0Sknfc9_kJWA@mail.gmail.com>
On Fri, 7 Aug 2026 at 05:02, Elijah Newren <[email protected]> wrote:
>
> > The INFINITY gate ensures correctness: commits without a commit-graph
> > entry have GENERATION_NUMBER_INFINITY and are ordered by commit date,
> > which is not topologically reliable. The optimization only fires
> > once the walk enters the finite-generation region where ordering
> > guarantees hold.
>
> What about GENERATION_NUMBER_V1_MAX ?

I am planning to rewrite the documentation to refer to the regions
as (topologically) ordered vs unordered (I think you coined it in
one of the other emails, and I quite prefer that over
infinite/finite).

I guess I will need to rewrite the commit messages too, to reflect
that. Hopefully fixed with v8, unless I miss something in that
juggling.

> > +  5. Side exhaustion: no pure PARENT1 or pure PARENT2 commits
> > +     remain in the queue, no pending merge-base candidates exist,
> > +     and the walk has entered the finite-generation region.
>
> "finite" or "small enough" ?

I think finite was correct before, given that the alternative was
the infinite region (GENERATION_NUMBER_INFINITE) but I will
rephrase this as unordered and ordered for v8.

> "In the INFINITY region" -> "outside the reliably-ordered region" ?

Agreed, I will pick something along those lines at the very least
(maybe exactly, but no promise yet).

> At this point in the series,
> Documentation/technical/paint-down-to-common.adoc does point out the
> GENERATION_NUMBER_V1_MAX issue in one of the paragraphs; it's kind of
> glossed over in other later paragraphs (as I highlighted above), but
> there's a clear incongruence at this point in the series.  I'm
> guessing you're going to fix that up in the next two patches, but the
> splitting feels a bit off.

V1_MAX is introduced before it's referenced in code, though I think
it's still valid as a concept for the existing docs, I just need
to be careful how I frame it in terms of the implementation.

I will do something here, though I am not yet sure exactly what.

Thanks,
Kristofer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.