git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: ds/generation-numbers (was Re: What's cooking in git.git (Jun 2018, #01; Fri, 1))

From
Derrick Stolee <stolee@gmail.com>
Date
Jun 2, 2018, 00:41 UTC
Message-ID
<1c770f29-9e80-b54d-b9d6-2fc73a5ae62a@gmail.com>
In-Reply-To
<xmqqy3fy6qu8.fsf@gitster-ct.c.googlers.com>
On 6/1/2018 7:15 PM, Junio C Hamano wrote:
Show 25 quoted lines
> Derrick Stolee <stolee@gmail.com> writes:
>>>    A recently added "commit-graph" datafile has learned to store
>>>    pre-computed generation numbers to speed up the decisions to stop
>>>    history traversal.
>>>
>>>    Will cook in 'next'.
>> On Wednesday, these were marked as "Will merge to 'master'" What changed?
> Nothing has changed.  "Will merge to 'master'" means "This is now in
> 'next', and unless there is some blocking breakage found, this topic
> will be merged to 'master' eventually".  It does not even say if
> that eventuality is before or after the release the current cycle is
> working towards.
>
> When it comes near pre-release feature freeze, things in 'next' need
> to be sifted into various bins, and their labels are updated.  The
> ones that are too big to be comfortably merged to the upcoming
> release after -rc0 has passed (i.e. biggies are better merged early
> to the 'master' in the cycle to give it full cycle of larger
> exposure) will be kept in 'next' so that it can go first after the
> final, the ones that are low risk but with higher importance will be
> merged to 'master' before the release, the ones that are trivial,
> distracting and lower value (i.e.  the ones that force i18n teams
> extra work) may be held in 'next', and the ones that deserve a
> chance to freshly restart are marked to be kicked back to 'pu'.
> Etc. etc.

Thanks, Junio. This explanation is what I expected. I suppose the small extra bit of information of "Will cook in 'next' until after next release" would have answered my question in advance. Thanks for the patience as I get used to your workflow.

I am a little disappointed this didn't make 2.18 because this gives some of the biggest speedups for typically painful computations (like 'git branch --contains'). The generation numbers are what give us more than a constant-multiple speedup; what is in master only parses commit relationships faster, doesn't reduce the number of commits walked. It also means we will release a version of Git that writes commit-graph file with GENERATION_ZERO and so we will never be able to deprecate that logic in the code.

Thanks,
-Stolee
Previous: Junio C HamanoNext: Stefan Beller
Message 4 of 5 in “What's cooking in git.git (Jun 2018, #01; Fri, 1)”
  1. Junio C HamanoJun 1, 2018
  2. ds/generation-numbers (was Re: What's cooking in git.git (Jun 2018, #01; Fri, 1))Derrick Stolee, Jun 1, 2018
  3. Junio C HamanoJun 1, 2018
  4. Derrick StoleeJun 2, 2018
  5. Stefan BellerJun 1, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.