On 6/1/2018 7:15 PM, Junio C Hamano wrote:
Derrick Stolee <sto...@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


Reply via email to