Ian Moody <moz-ian@perix.co.uk> [Thu, 30 Jul 2020 16:52:12 +0100] rev 45271
phabricator: demonstrate debugcallconduit being broken without --test-vcr
This was accidentally broken by 11592ce6a711 / D8525
Differential Revision: https://phab.mercurial-scm.org/D8851
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Jul 2020 11:11:14 -0700] rev 45270
cleanup: fix bad formatting of state.py from D8811
`test-check-format.t` was failing for me. Do I just have the wrong
version?
Differential Revision: https://phab.mercurial-scm.org/D8841
Joerg Sonnenberger <joerg@bec.de> [Thu, 30 Jul 2020 16:13:17 +0200] rev 45269
dirstate: restore original estimation and update comment
The former comment didn't reflect the content of the dirstate entries,
the two nodes are a fixed header in the file and not per-entry. Split
the documented entry into the path part and the fixed header. The
heuristic itself is still valid, e.g. for the NetBSD src tree a maximum
path size of 142 and an average of 49, resulting in 66 bytes per entry
on average.
Differential Revision: https://phab.mercurial-scm.org/D8850
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 31 Jul 2020 17:09:31 +0530] rev 45268
merge stable in default
Joerg Sonnenberger <joerg@bec.de> [Thu, 30 Jul 2020 01:10:10 +0200] rev 45267
dirstate: revert change to Rust binding
The Rust binding uses its own class and is not derived from the regular
implementation. As such, it didn't get _nodelen.
Differential Revision: https://phab.mercurial-scm.org/D8849
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 23:52:31 +0200] rev 45266
commitctx: extract all the file preparation logic in a new function
Before we actually start to create a new commit we have a large block of logic
that do the necessary file and manifest commit and that determine which files
are been affected by the commit (and how).
This is a complex process on its own. It return a "simple" output that can be
fed to the next step. The output itself is not that simple as we return a lot of
individual items (files, added, removed, ...). My next step (and actual goal for
this cleanup) will be to simplify the return by returning a richer object that
will be more suited for the variation of data we want to store.
After this changeset the `commitctx` is a collection of smaller function with
limited scope. The largest one is still `_filecommit` without about 100 lines of
code.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 23:58:23 +0200] rev 45265
commitctx: gather more preparation code within the lock context
This is a small change that exist mostly for clarification. I am about to move a
large amount of code in its own function. having all that code next to each
other will make the next changeset clearer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 23:40:59 +0200] rev 45264
commitctx: move a special case about files earlier
Same logic as a changeset a bit earlier, the `writefilecopymeta` section is more
a post processing details so we move the conditional about `files` value closer
to the rest of the code computing `files` value.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 18:25:45 +0200] rev 45263
commitctx: extract all the manual logic to process the files
That branch of the if is significantly more complicated than the other two.
Moving it to its own function make it simple to keep the scope limited and to
read to the higher level function.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 23:08:00 +0200] rev 45262
commitctx: treat `filesadded` more like `filesremoved`
Accumulating the filename in a list will have a negligible cost and deal with
the list of added files like the other ones will make is code cleaning simpler.
The two variable with very close name is not great, but my plan is to split most
of the code in a separated function which will make the "problem" go away by
itself.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 22:58:29 +0200] rev 45261
commitctx: move `writechangesetcopy` business at the end a code section
This code is to handle a specific subcase so we move it a the end. This allow
to gather the rest of the "core" code closer to the related logic.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 21:09:42 +0200] rev 45260
commitctx: move copy meta config reading in a dedicated function
The logic is non trivial, make it contained in a function is clearer. It also
unlock easy re-use of that logic without having the pass the value around.