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