upgraderepo: add a config option for parallel computation
The option is put to use to compute new copy tracing side data in parallel. It
use the multiprocessing module as it had the appropriate primitive for what we
needed. Gregory Szorc had concerned on windows so we disabled it there.
See inline comment for details on the parallel implementation.
upgrade-repo: colorize some of the output
Having clear color for requirement added and removed is useful.
tests: remove hardcoded errno values
Fixes test failures on hurd-i386
Ref: https://bugs.debian.org/946178
Differential Revision: https://phab.mercurial-scm.org/D7556
tests: expect return status 255 on exception for test-blackbox.t with chg
Differential Revision: https://phab.mercurial-scm.org/D7554
tests: fix command name in test-blackbox.t to be bytes
This command is only used when tests are run with --with-chg, so this was missed
before.
Differential Revision: https://phab.mercurial-scm.org/D7553
tests: fix deprecation warning about regex flags not at beginning of expr
This may only show up when running the tests under python3.6+. Currently the
only test that does this is test-patchbomb-tls.t, and it only uses (?i), so
that's all that's handled at the moment.
Differential Revision: https://phab.mercurial-scm.org/D7552
tests: fix test-chg.t to work with py3 (no setprocname)
Differential Revision: https://phab.mercurial-scm.org/D7551
amend: check for file modifications when updating dirstate (
issue6233)
Previously, we called dirstate.normal(f), which would put information into the
dirstate claiming that the file on disk is what it "should be" for the current
checkout, and it would have the size and timestamp of the most recent
modification to the file (which is not necessarily the one we just committed).
If the file was modified while the commit message editor was open, we would put
incorrect information into the dirstate.
Differential Revision: https://phab.mercurial-scm.org/D7521
graft: never set both parents equal in the dirstate (
issue6098)
merge.graft() can set both parents equal in the dirstate when
keepparent=True. We don't seem to set that in core, but the evolve
extension does use it. So I couldn't figure out a way to add a test
for this patch in core.
Differential Revision: https://phab.mercurial-scm.org/D7549
graft: extract `repo['.']` to local variable
It's used in two places and I'm about to use it more.
Differential Revision: https://phab.mercurial-scm.org/D7548
graft: rename `pctx` argument to `base` since that's what it is
The new name better matches the docstring. It also frees up `pctx` to
be used for something else (next patch).
Differential Revision: https://phab.mercurial-scm.org/D7547
exchange: replace a "not x in ys" by more Pythonic "x not in ys"
Found by one of our (Google-)internal tools.
Differential Revision: https://phab.mercurial-scm.org/D7546