From: Derrick Stolee Date: Sat, 02 Jun 2018 00:41:57 GMT Subject: Re: ds/generation-numbers (was Re: What's cooking in git.git (Jun 2018, #01; Fri, 1)) Message-ID: <1c770f29-9e80-b54d-b9d6-2fc73a5ae62a@gmail.com> In-Reply-To: On 6/1/2018 7:15 PM, Junio C Hamano wrote: > Derrick Stolee 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