This instance will be upgraded to Heptapod 0.23.2 on 2021-08-05 at 11:00 UTC+2 (a few minutes of down time)

upgrade: implement partial upgrade for upgrading persistent-nodemap

Upgrading repositories to use persistent nodemap should be fast and easy as it
requires only two things:

1) Updating the requirements
2) Writing a persistent-nodemap on disk

For both of the steps above, we don't need to edit existing revlogs.

This patch makes upgrade only do the above mentioned two steps if we are
only upgarding to use persistent-nodemap feature.

Since `nodemap.persist_nodemap()` assumes that there exists a nodemap file for
the given revlog if we are trying to call it, this patch adds `force` argument
to create a file if does not exist which is true in our upgrade case.

The test changes demonstrate that we no longer write nodemap files for manifest
after upgrade which I think is desirable.
13 jobs for topic/default/upgrade-refactor in 26 minutes and 55 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Tests
passed #160477
checks-py2

00:05:25

passed #160478
checks-py3

00:02:36

passed #160479
rust-cargo-test-py2

00:02:35

passed #160480
rust-cargo-test-py3

00:03:08

failed #160481
test-py2

00:23:21

failed #160487
test-py2-chg

00:22:14

failed #160483
test-py2-pure

00:21:04

failed #160485
test-py2-rust

00:24:15

passed #160482
test-py3

00:20:27

passed #160488
test-py3-chg

00:08:55

passed #160484
test-py3-pure

00:20:50

passed #160486
test-py3-rust

00:19:46

 
  Phabricator
skipped #160489
phabricator-refresh
 
Name Stage Failure
failed
test-py2-rust Tests
Skipped test-sparse-fsmonitor.t: skipped
Skipped test-sparse-revlog.t: missing artifact, run "/tmp/mercurial-ci/tests/artifacts/scripts/generate-churning-bundle.py"
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Failed test-install.t: output changed
# Ran 892 tests, 56 skipped, 1 failed.
python hash seed: 2905048846
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py2-chg Tests
Skipped test-update-atomic.t: system supports running with chg
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Skipped test-wireproto-command-capabilities.t: system supports running with chg
Failed test-install.t: output changed
# Ran 871 tests, 77 skipped, 1 failed.
python hash seed: 3590421834
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py2 Tests
Skipped test-sparse-fsmonitor.t: skipped
Skipped test-sparse-revlog.t: missing artifact, run "/tmp/mercurial-ci/tests/artifacts/scripts/generate-churning-bundle.py"
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Failed test-install.t: output changed
# Ran 892 tests, 56 skipped, 1 failed.
python hash seed: 2839922792
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py2-pure Tests
Skipped test-sparse-fsmonitor.t: skipped
Skipped test-sparse-revlog.t: missing artifact, run "/tmp/mercurial-ci/tests/artifacts/scripts/generate-churning-bundle.py"
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Failed test-install.t: output changed
# Ran 889 tests, 59 skipped, 1 failed.
python hash seed: 1596505476
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1