Read about our upcoming Code of Conduct on this issue

dirstate-v2: Add support when Rust is not enabled

This wires into `dirstatemap` the parser and serializer added in previous
changesets. The memory representation is still the same, with a flat `dict`
for `DirstateItem`s and another one for copy sources. Serialization always
creates a new dirstate-v2 data file and does not support (when Rust is not
enabled) appending to an existing one, since we don’t keep track of which
tree nodes are new or modified. Instead the tree is reconstructed during
serialization.

Differential Revision: https://phab.mercurial-scm.org/D11520
17 jobs for branch/default in 52 minutes and 31 seconds (queued for 3 seconds)
Status Name Job ID Coverage
  Tests
passed check-pytype-py3 #253371

00:23:06

failed checks-py2 #253358

00:05:21

failed checks-py3 #253359

00:05:13

passed rust-cargo-test-py2 #253360

00:01:22

passed rust-cargo-test-py3 #253361

00:01:53

failed test-py2 #253362

00:31:11

failed test-py2-chg #253369

00:52:28

failed test-py2-pure #253364

00:19:27

failed test-py2-rust #253366

00:29:05

passed test-py3 #253363

00:22:17

passed test-py3-chg #253370

00:12:29

failed test-py3-pure #253365

00:13:35

failed test-py3-rhg #253368

00:11:08

passed test-py3-rust #253367

00:15:08

manual windows-py3 #253372
windows allowed to fail manual
manual windows-py3-pyox #253373
windows allowed to fail manual
 
  Phabricator
skipped phabricator-refresh #253374
 
Name Stage Failure
failed
test-py2-chg Tests
Skipped test-subrepo-git.t: this test get stuck on the CI with python2 + chg. investigation needed
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-basic.t: output changed
# Ran 899 tests, 80 skipped, 1 failed.
python hash seed: 2738067950
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test-py2 Tests
Skipped test-rhg.t: missing feature: running with rhg as 'hg'
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-basic.t: output changed
# Ran 924 tests, 55 skipped, 1 failed.
python hash seed: 2612671696
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test-py2-rust Tests
Skipped test-rhg.t: missing feature: running with rhg as 'hg'
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-basic.t: output changed
# Ran 924 tests, 55 skipped, 1 failed.
python hash seed: 2228789582
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test-py2-pure Tests
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-basic.t: output changed
Failed test-dirstate-race.t#dirstate-v2: output changed
# Ran 921 tests, 58 skipped, 2 failed.
python hash seed: 1873172602
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py3-pure Tests
Skipped test-rhg.t: missing feature: running with rhg as 'hg'
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-dirstate-race.t#dirstate-v2: output changed
# Ran 915 tests, 64 skipped, 1 failed.
python hash seed: 3917219709
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test-py3-rhg 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-ssh-repoerror.t: system supports running with rhg as 'hg'
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Failed test-rhg.t: output changed
# Ran 916 tests, 63 skipped, 1 failed.
python hash seed: 3222122340
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
checks-py2 Tests
 13.684  37.311 194.020   8.950  23.627   test-check-format.t
0.003 28.386 52.940 9.530 28.383 test-check-config.t
0.004 30.860 73.930 10.020 30.856 test-check-pyflakes.t
0.001 36.776 100.220 10.620 36.776 test-check-code.t
0.010 61.041 252.010 13.560 61.032 test-check-pylint.t
3.082 73.231 452.240 30.240 70.149 test-check-cargo-lock.t
Cleaning up file based variables
nothing to do
ERROR: Job failed: exit code 1
failed
checks-py3 Tests
  0.009  12.099  40.570   5.660  12.090   test-check-help.t
1.938 19.392 148.800 6.420 17.454 test-check-format.t
0.007 26.654 177.260 7.940 26.647 test-check-pyflakes.t
0.000 30.918 205.940 8.460 30.918 test-check-code.t
0.013 55.776 257.660 9.490 55.763 test-check-pylint.t
0.132 65.678 487.250 28.180 65.546 test-check-cargo-lock.t
Cleaning up file based variables
nothing to do
ERROR: Job failed: exit code 1