Mercurial > public > mercurial-scm > hg-stable
annotate tests/test-persistent-nodemap.t @ 53028:89ab2459f62a stable 6.9.3
stream-bundle: properly process requirements
When the manifest bundle constain some known requirement that does not affect
the stream clone, we used to crash. However since we know them and know they
don't affect the stream clone, we can ignore them.
Mozilla generated such buggy manifest bundle for a time which allowed us to
catch this error. The issue was not caught until 961900fbd67c (released in
6.9.2) as the requirements information were ignored for stream-v2 until then.
We fix the issue, refactor the code for robustness and adds more tests to better
catch this kind of issue in the future.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 05 Mar 2025 11:41:45 +0100 |
parents | 7e5be4a7cda7 |
children | e705fec4a03f |
rev | line source |
---|---|
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 =================================== |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Test the persistent on-disk nodemap |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 =================================== |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
5 |
47886
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
6 $ cat << EOF >> $HGRCPATH |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
7 > [format] |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
8 > use-share-safe=yes |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
9 > [extensions] |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
10 > share= |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
11 > EOF |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
12 |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
13 #if no-rust |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
14 |
44868
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44866
diff
changeset
|
15 $ cat << EOF >> $HGRCPATH |
44870
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44868
diff
changeset
|
16 > [format] |
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44868
diff
changeset
|
17 > use-persistent-nodemap=yes |
44356
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44355
diff
changeset
|
18 > [devel] |
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44355
diff
changeset
|
19 > persistent-nodemap=yes |
44351
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
20 > EOF |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
21 |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
22 #endif |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
23 |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
24 $ hg init test-repo --config storage.revlog.persistent-nodemap.slow-path=allow |
44868
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44866
diff
changeset
|
25 $ cd test-repo |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
26 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
27 Check handling of the default slow-path value |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
28 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
29 #if no-pure no-rust |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
30 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
31 $ hg id |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
32 abort: accessing `persistent-nodemap` repository without associated fast implementation. |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
33 (check `hg help config.format.use-persistent-nodemap` for details) |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
34 [255] |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
35 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
36 Unlock further check (we are here to test the feature) |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
37 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
38 $ cat << EOF >> $HGRCPATH |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
39 > [storage] |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
40 > # to avoid spamming the test |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
41 > revlog.persistent-nodemap.slow-path=allow |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
42 > EOF |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
43 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
44 #endif |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
45 |
46352
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
46 #if rust |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
47 |
46353
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
48 Regression test for a previous bug in Rust/C FFI for the `Revlog_CAPI` capsule: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
49 in places where `mercurial/cext/revlog.c` function signatures use `Py_ssize_t` |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
50 (64 bits on Linux x86_64), corresponding declarations in `rust/hg-cpython/src/cindex.rs` |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
51 incorrectly used `libc::c_int` (32 bits). |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
52 As a result, -1 passed from Rust for the null revision became 4294967295 in C. |
46352
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
53 |
46353
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
54 $ hg log -r 00000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
55 changeset: -1:000000000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
56 tag: tip |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
57 user: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
58 date: Thu Jan 01 00:00:00 1970 +0000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46352
diff
changeset
|
59 |
46352
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
60 |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
61 #endif |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
62 |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
63 |
44876
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
64 $ hg debugformat |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
65 format-variant repo |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
66 fncache: yes |
47328
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47322
diff
changeset
|
67 dirstate-v2: no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
68 tracked-hint: no |
44876
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
69 dotencode: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
70 generaldelta: yes |
47886
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
71 share-safe: yes |
44876
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
72 sparserevlog: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
73 persistent-nodemap: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
74 copies-sdc: no |
46718
fd55a9eb1507
revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents:
46576
diff
changeset
|
75 revlog-v2: no |
47274
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47035
diff
changeset
|
76 changelog-v2: no |
44876
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
77 plain-cl-delta: yes |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
78 compression: zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
79 compression: zstd (zstd !) |
44876
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44873
diff
changeset
|
80 compression-level: default |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
81 $ hg debugbuilddag .+5000 --new-file |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
82 |
44368
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
83 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
84 uid: ???????? (glob) |
44369
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44368
diff
changeset
|
85 tip-rev: 5000 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
86 tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
87 data-length: 121088 |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
88 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
89 data-unused: 0.000% |
44354
2b72c4ff8ed1
nodemap: use an intermediate "docket" file to carry small metadata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44352
diff
changeset
|
90 $ f --size .hg/store/00changelog.n |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
91 .hg/store/00changelog.n: size=62 |
44482
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
92 |
50545
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
93 $ hg debugnodemap --metadata --manifest |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
94 uid: ???????? (glob) |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
95 tip-rev: 5000 |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
96 tip-node: 513d42790a19f0f60c6ebea54b9543bc9537b959 |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
97 data-length: 120960 |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
98 data-unused: 0 |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
99 data-unused: 0.000% |
c847a3e82056
cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50544
diff
changeset
|
100 |
44482
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
101 Simple lookup works |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
102 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
103 $ ANYNODE=`hg log --template '{node|short}\n' --rev tip` |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
104 $ hg log -r "$ANYNODE" --template '{rev}\n' |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
105 5000 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
106 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
107 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
108 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
109 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
110 $ f --sha256 .hg/store/00changelog-*.nd |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
111 .hg/store/00changelog-????????.nd: sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd (glob) |
44863
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44862
diff
changeset
|
112 |
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44862
diff
changeset
|
113 $ f --sha256 .hg/store/00manifest-*.nd |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
114 .hg/store/00manifest-????????.nd: sha256=97117b1c064ea2f86664a124589e47db0e254e8d34739b5c5cc5bf31c9da2b51 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
115 $ hg debugnodemap --dump-new | f --sha256 --size |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
116 size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
117 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
118 size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
119 0000: 00 00 00 91 00 00 00 20 00 00 00 bb 00 00 00 e7 |....... ........| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
120 0010: 00 00 00 66 00 00 00 a1 00 00 01 13 00 00 01 22 |...f..........."| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
121 0020: 00 00 00 23 00 00 00 fc 00 00 00 ba 00 00 00 5e |...#...........^| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
122 0030: 00 00 00 df 00 00 01 4e 00 00 01 65 00 00 00 ab |.......N...e....| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
123 0040: 00 00 00 a9 00 00 00 95 00 00 00 73 00 00 00 38 |...........s...8| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
124 0050: 00 00 00 cc 00 00 00 92 00 00 00 90 00 00 00 69 |...............i| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
125 0060: 00 00 00 ec 00 00 00 8d 00 00 01 4f 00 00 00 12 |...........O....| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
126 0070: 00 00 02 0c 00 00 00 77 00 00 00 9c 00 00 00 8f |.......w........| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
127 0080: 00 00 00 d5 00 00 00 6b 00 00 00 48 00 00 00 b3 |.......k...H....| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
128 0090: 00 00 00 e5 00 00 00 b5 00 00 00 8e 00 00 00 ad |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
129 00a0: 00 00 00 7b 00 00 00 7c 00 00 00 0b 00 00 00 2b |...{...|.......+| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
130 00b0: 00 00 00 c6 00 00 00 1e 00 00 01 08 00 00 00 11 |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
131 00c0: 00 00 01 30 00 00 00 26 00 00 01 9c 00 00 00 35 |...0...&.......5| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
132 00d0: 00 00 00 b8 00 00 01 31 00 00 00 2c 00 00 00 55 |.......1...,...U| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
133 00e0: 00 00 00 8a 00 00 00 9a 00 00 00 0c 00 00 01 1e |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
134 00f0: 00 00 00 a4 00 00 00 83 00 00 00 c9 00 00 00 8c |................| |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
135 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
136 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
137 #else |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
138 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
139 $ f --sha256 .hg/store/00changelog-*.nd |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
140 .hg/store/00changelog-????????.nd: sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 (glob) |
44352
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44351
diff
changeset
|
141 $ hg debugnodemap --dump-new | f --sha256 --size |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
142 size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 |
44352
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44351
diff
changeset
|
143 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
144 size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 |
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
145 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
146 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
147 0020: ff ff ff ff ff ff f5 06 ff ff ff ff ff ff f3 e7 |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
148 0030: ff ff ef ca ff ff ff ff ff ff ff ff ff ff ff ff |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
149 0040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
150 0050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ed 08 |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
151 0060: ff ff ed 66 ff ff ff ff ff ff ff ff ff ff ff ff |...f............| |
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
152 0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
153 0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
154 0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff f6 ed |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
155 00a0: ff ff ff ff ff ff fe 61 ff ff ff ff ff ff ff ff |.......a........| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
156 00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
157 00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
158 00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
159 00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff f1 02 |................| |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
160 00f0: ff ff ff ff ff ff ed 1b ff ff ff ff ff ff ff ff |................| |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
161 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
162 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
163 |
44361
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
164 $ hg debugnodemap --check |
50544
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
165 revisions in index: 5001 |
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
166 revisions in nodemap: 5001 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
167 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
168 add a new commit |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
169 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
170 $ hg up |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
171 5001 files updated, 0 files merged, 0 files removed, 0 files unresolved |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
172 $ echo foo > foo |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
173 $ hg add foo |
44866
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
174 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
175 |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
176 Check slow-path config value handling |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
177 ------------------------------------- |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
178 |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
179 #if no-pure no-rust |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
180 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
181 $ hg id --config "storage.revlog.persistent-nodemap.slow-path=invalid-value" |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
182 unknown value for config "storage.revlog.persistent-nodemap.slow-path": "invalid-value" |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
183 falling back to default value: abort |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
184 abort: accessing `persistent-nodemap` repository without associated fast implementation. |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
185 (check `hg help config.format.use-persistent-nodemap` for details) |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
186 [255] |
44866
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
187 |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
188 $ hg log -r . --config "storage.revlog.persistent-nodemap.slow-path=warn" |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
189 warning: accessing `persistent-nodemap` repository without associated fast implementation. |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
190 (check `hg help config.format.use-persistent-nodemap` for details) |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
191 changeset: 5000:6b02b8c7b966 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
192 tag: tip |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
193 user: debugbuilddag |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
194 date: Thu Jan 01 01:23:20 1970 +0000 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
195 summary: r5000 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
196 |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
197 $ hg ci -m 'foo' --config "storage.revlog.persistent-nodemap.slow-path=abort" |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
198 abort: accessing `persistent-nodemap` repository without associated fast implementation. |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
199 (check `hg help config.format.use-persistent-nodemap` for details) |
44866
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
200 [255] |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
201 |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
202 #else |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
203 |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
204 $ hg id --config "storage.revlog.persistent-nodemap.slow-path=invalid-value" |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
205 unknown value for config "storage.revlog.persistent-nodemap.slow-path": "invalid-value" |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
206 falling back to default value: abort |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
207 6b02b8c7b966+ tip |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
208 |
44866
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
209 #endif |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44865
diff
changeset
|
210 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
211 $ hg ci -m 'foo' |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
212 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
213 #if no-pure no-rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
214 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
215 uid: ???????? (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
216 tip-rev: 5001 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
217 tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
218 data-length: 121088 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
219 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
220 data-unused: 0.000% |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
221 #else |
44368
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
222 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
223 uid: ???????? (glob) |
44369
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44368
diff
changeset
|
224 tip-rev: 5001 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
225 tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
226 data-length: 121344 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
227 data-unused: 256 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
228 data-unused: 0.211% |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
229 #endif |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
230 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
231 $ f --size .hg/store/00changelog.n |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
232 .hg/store/00changelog.n: size=62 |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
233 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
234 (The pure code use the debug code that perform incremental update, the C code reencode from scratch) |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
235 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
236 #if pure |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
237 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
238 .hg/store/00changelog-????????.nd: size=121344, sha256=cce54c5da5bde3ad72a4938673ed4064c86231b9c64376b082b163fdb20f8f66 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
239 #endif |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
240 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
241 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
242 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
243 .hg/store/00changelog-????????.nd: size=121344, sha256=952b042fcf614ceb37b542b1b723e04f18f83efe99bee4e0f5ccd232ef470e58 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
244 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
245 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
246 #if no-pure no-rust |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
247 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
248 .hg/store/00changelog-????????.nd: size=121088, sha256=df7c06a035b96cb28c7287d349d603baef43240be7736fe34eea419a49702e17 (glob) |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
249 #endif |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
250 |
44361
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
251 $ hg debugnodemap --check |
50544
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
252 revisions in index: 5002 |
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
253 revisions in nodemap: 5002 |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
254 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
255 Test code path without mmap |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
256 --------------------------- |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
257 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
258 $ echo bar > bar |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
259 $ hg add bar |
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
260 $ hg ci -m 'bar' --config storage.revlog.persistent-nodemap.mmap=no |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
261 |
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
262 $ hg debugnodemap --check --config storage.revlog.persistent-nodemap.mmap=yes |
50544
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
263 revisions in index: 5003 |
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
264 revisions in nodemap: 5003 |
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
265 $ hg debugnodemap --check --config storage.revlog.persistent-nodemap.mmap=no |
50544
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
266 revisions in index: 5003 |
4fe46f96b56b
cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
50515
diff
changeset
|
267 revisions in nodemap: 5003 |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
268 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
269 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
270 #if pure |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
271 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
272 uid: ???????? (glob) |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
273 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
274 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
275 data-length: 121600 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
276 data-unused: 512 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
277 data-unused: 0.421% |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
278 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
279 .hg/store/00changelog-????????.nd: size=121600, sha256=def52503d049ccb823974af313a98a935319ba61f40f3aa06a8be4d35c215054 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
280 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
281 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
282 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
283 uid: ???????? (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
284 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
285 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
286 data-length: 121600 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
287 data-unused: 512 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
288 data-unused: 0.421% |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
289 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
290 .hg/store/00changelog-????????.nd: size=121600, sha256=dacf5b5f1d4585fee7527d0e67cad5b1ba0930e6a0928f650f779aefb04ce3fb (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
291 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
292 #if no-pure no-rust |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
293 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
294 uid: ???????? (glob) |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
295 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
296 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
297 data-length: 121088 |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
298 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
299 data-unused: 0.000% |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
300 $ f --sha256 .hg/store/00changelog-*.nd --size |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
301 .hg/store/00changelog-????????.nd: size=121088, sha256=59fcede3e3cc587755916ceed29e3c33748cd1aa7d2f91828ac83e7979d935e8 (glob) |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
302 #endif |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
303 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
304 Test force warming the cache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
305 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
306 $ rm .hg/store/00changelog.n |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
307 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
308 $ hg debugupdatecache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
309 #if pure |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
310 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
311 uid: ???????? (glob) |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
312 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
313 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
314 data-length: 121088 |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
315 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
316 data-unused: 0.000% |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
317 #else |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
318 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
319 uid: ???????? (glob) |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
320 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
321 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
322 data-length: 121088 |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
323 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
324 data-unused: 0.000% |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
325 #endif |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
326 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
327 Check out of sync nodemap |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
328 ========================= |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
329 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
330 First copy old data on the side. |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
331 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
332 $ mkdir ../tmp-copies |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
333 $ cp .hg/store/00changelog-????????.nd .hg/store/00changelog.n ../tmp-copies |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
334 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
335 Nodemap lagging behind |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
336 ---------------------- |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
337 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
338 make a new commit |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
339 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
340 $ echo bar2 > bar |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
341 $ hg ci -m 'bar2' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
342 $ NODE=`hg log -r tip -T '{node}\n'` |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
343 $ hg log -r "$NODE" -T '{rev}\n' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
344 5003 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
345 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
346 If the nodemap is lagging behind, it can catch up fine |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
347 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
348 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
349 uid: ???????? (glob) |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
350 tip-rev: 5003 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
351 tip-node: c9329770f979ade2d16912267c38ba5f82fd37b3 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
352 data-length: 121344 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
353 data-length: 121344 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
354 data-length: 121152 (no-rust no-pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
355 data-unused: 192 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
356 data-unused: 192 (rust !) |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
357 data-unused: 0 (no-rust no-pure !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
358 data-unused: 0.158% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
359 data-unused: 0.158% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
360 data-unused: 0.000% (no-rust no-pure !) |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
361 $ cp -f ../tmp-copies/* .hg/store/ |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
362 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
363 uid: ???????? (glob) |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
364 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
365 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
366 data-length: 121088 |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
367 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
368 data-unused: 0.000% |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
369 $ hg log -r "$NODE" -T '{rev}\n' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
370 5003 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
371 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
372 changelog altered |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
373 ----------------- |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
374 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
375 If the nodemap is not gated behind a requirements, an unaware client can alter |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
376 the repository so the revlog used to generate the nodemap is not longer |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
377 compatible with the persistent nodemap. We need to detect that. |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
378 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
379 $ hg up "$NODE~5" |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
380 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
381 $ echo bar > babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
382 $ hg add babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
383 $ hg ci -m 'babar' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
384 created new head |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
385 $ OTHERNODE=`hg log -r tip -T '{node}\n'` |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
386 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
387 5004 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
388 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
389 $ hg --config extensions.strip= strip --rev "$NODE~1" --no-backup |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
390 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
391 the nodemap should detect the changelog have been tampered with and recover. |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
392 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
393 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
394 uid: ???????? (glob) |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
395 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
396 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
397 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
398 data-length: 121088 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
399 data-length: 121088 (no-pure no-rust !) |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
400 data-unused: 448 (pure !) |
44640
c70bcaf7927b
nodemap: automatically "vacuum" the persistent nodemap when too sparse
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44639
diff
changeset
|
401 data-unused: 0 (rust !) |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
402 data-unused: 0 (no-pure no-rust !) |
44640
c70bcaf7927b
nodemap: automatically "vacuum" the persistent nodemap when too sparse
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44639
diff
changeset
|
403 data-unused: 0.000% (rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
404 data-unused: 0.369% (pure !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
405 data-unused: 0.000% (no-pure no-rust !) |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
406 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
407 $ cp -f ../tmp-copies/* .hg/store/ |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
408 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
409 uid: ???????? (glob) |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
410 tip-rev: 5002 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
411 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
412 data-length: 121088 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
413 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
414 data-unused: 0.000% |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
415 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
416 5002 |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
417 |
46321
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
418 missing data file |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
419 ----------------- |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
420 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
421 $ UUID=`hg debugnodemap --metadata| grep 'uid:' | \ |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
422 > sed 's/uid: //'` |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
423 $ FILE=.hg/store/00changelog-"${UUID}".nd |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
424 $ mv $FILE ../tmp-data-file |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
425 $ cp .hg/store/00changelog.n ../tmp-docket |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
426 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
427 mercurial don't crash |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
428 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
429 $ hg log -r . |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
430 changeset: 5002:b355ef8adce0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
431 tag: tip |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
432 parent: 4998:d918ad6d18d3 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
433 user: test |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
434 date: Thu Jan 01 00:00:00 1970 +0000 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
435 summary: babar |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
436 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
437 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
438 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
439 $ hg debugupdatecache |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
440 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
441 uid: * (glob) |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
442 tip-rev: 5002 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
443 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
444 data-length: 121088 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
445 data-unused: 0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
446 data-unused: 0.000% |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
447 $ mv ../tmp-data-file $FILE |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
448 $ mv ../tmp-docket .hg/store/00changelog.n |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
449 |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
450 Check transaction related property |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
451 ================================== |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
452 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
453 An up to date nodemap should be available to shell hooks, |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
454 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
455 $ echo dsljfl > a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
456 $ hg add a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
457 $ hg ci -m a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
458 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
459 uid: ???????? (glob) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
460 tip-rev: 5003 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
461 tip-node: a52c5079765b5865d97b993b303a18740113bbb2 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
462 data-length: 121088 |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
463 data-unused: 0 |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
464 data-unused: 0.000% |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
465 $ echo babar2 > babar |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
466 $ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata" |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
467 uid: ???????? (glob) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
468 tip-rev: 5004 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
469 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
470 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
471 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
472 data-length: 121088 (no-pure no-rust !) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
473 data-unused: 192 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
474 data-unused: 192 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
475 data-unused: 0 (no-pure no-rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
476 data-unused: 0.158% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
477 data-unused: 0.158% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
478 data-unused: 0.000% (no-pure no-rust !) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
479 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
480 uid: ???????? (glob) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
481 tip-rev: 5004 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
482 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
483 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
484 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
485 data-length: 121088 (no-pure no-rust !) |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
486 data-unused: 192 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
487 data-unused: 192 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
488 data-unused: 0 (no-pure no-rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
489 data-unused: 0.158% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
490 data-unused: 0.158% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
491 data-unused: 0.000% (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
492 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
493 Another process does not see the pending nodemap content during run. |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
494 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
495 $ echo qpoasp > a |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
496 $ hg ci -m a2 \ |
47035
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
497 > --config "hooks.pretxnclose=sh \"$RUNTESTDIR/testlib/wait-on-file\" 20 sync-repo-read sync-txn-pending" \ |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
498 > --config "hooks.txnclose=touch sync-txn-close" > output.txt 2>&1 & |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
499 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
500 (read the repository while the commit transaction is pending) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
501 |
47035
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
502 $ sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-pending && \ |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
503 > hg debugnodemap --metadata && \ |
47035
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
504 > sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-close sync-repo-read |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
505 uid: ???????? (glob) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
506 tip-rev: 5004 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
507 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
508 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
509 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
510 data-length: 121088 (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
511 data-unused: 192 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
512 data-unused: 192 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
513 data-unused: 0 (no-pure no-rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
514 data-unused: 0.158% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
515 data-unused: 0.158% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
516 data-unused: 0.000% (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
517 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
518 uid: ???????? (glob) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
519 tip-rev: 5005 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
520 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
521 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
522 data-length: 121536 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
523 data-length: 121088 (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
524 data-unused: 448 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
525 data-unused: 448 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
526 data-unused: 0 (no-pure no-rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
527 data-unused: 0.369% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
528 data-unused: 0.369% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
529 data-unused: 0.000% (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
530 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
531 $ cat output.txt |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
532 |
44638
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
533 Check that a failing transaction will properly revert the data |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
534 |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
535 $ echo plakfe > a |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
536 $ f --size --sha256 .hg/store/00changelog-*.nd |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
537 .hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
538 .hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
539 .hg/store/00changelog-????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !) |
44638
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
540 $ hg ci -m a3 --config "extensions.abort=$RUNTESTDIR/testlib/crash_transaction_late.py" |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
541 transaction abort! |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
542 rollback completed |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
543 abort: This is a late abort |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
544 [255] |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
545 $ hg debugnodemap --metadata |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
546 uid: ???????? (glob) |
44638
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
547 tip-rev: 5005 |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
548 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
549 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
550 data-length: 121536 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
551 data-length: 121088 (no-pure no-rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
552 data-unused: 448 (pure !) |
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
553 data-unused: 448 (rust !) |
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
554 data-unused: 0 (no-pure no-rust !) |
44862
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
555 data-unused: 0.369% (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
556 data-unused: 0.369% (rust !) |
44639
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44638
diff
changeset
|
557 data-unused: 0.000% (no-pure no-rust !) |
44638
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44637
diff
changeset
|
558 $ f --size --sha256 .hg/store/00changelog-*.nd |
47322
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
559 .hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
560 .hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47290
diff
changeset
|
561 .hg/store/00changelog-????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !) |
44803
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
562 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
563 Check that removing content does not confuse the nodemap |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
564 -------------------------------------------------------- |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
565 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
566 removing data with rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
567 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
568 $ echo aso > a |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
569 $ hg ci -m a4 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
570 $ hg rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
571 repository tip rolled back to revision 5005 (undo commit) |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
572 working directory now based on revision 5005 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
573 $ hg id -r . |
44995 | 574 90d5d3ba2fc4 tip |
44803
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
575 |
47883
b833f8cbe199
persistent-nodemap: fix a typo in a test comment
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47795
diff
changeset
|
576 removing data with strip |
44803
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
577 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
578 $ echo aso > a |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
579 $ hg ci -m a4 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
580 $ hg --config extensions.strip= strip -r . --no-backup |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
581 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44640
diff
changeset
|
582 $ hg id -r . --traceback |
44995 | 583 90d5d3ba2fc4 tip |
584 | |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
585 (be a good citizen and regenerate the nodemap) |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
586 $ hg debugupdatecaches |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
587 $ hg debugnodemap --metadata |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
588 uid: * (glob) |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
589 tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
590 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
591 data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
592 data-unused: 0 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
593 data-unused: 0.000% |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
594 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
595 Check race condition when multiple process write new data to the repository |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
596 --------------------------------------------------------------------------- |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
597 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
598 In this test, we check that two writers touching the repositories will not |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
599 overwrite each other data. This test is prompted by the existent of issue6554. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
600 Where a writer ended up using and outdated docket to update the repository. See |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
601 the dedicated extension for details on the race windows and read/write schedule |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
602 necessary to end up in this situation: testlib/persistent-nodemap-race-ext.py |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
603 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
604 The issue was initially observed on a server with a high push trafic, but it |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
605 can be reproduced using a share and two commiting process which seems simpler. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
606 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
607 The test is Rust only as the other implementation does not use the same |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
608 read/write patterns. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
609 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
610 $ cd .. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
611 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
612 #if rust |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
613 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
614 $ cp -R test-repo race-repo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
615 $ hg share race-repo ./other-wc --config format.use-share-safe=yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
616 updating working directory |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
617 5001 files updated, 0 files merged, 0 files removed, 0 files unresolved |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
618 $ hg debugformat -R ./race-repo | grep -E 'share-safe|persistent-nodemap' |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
619 share-safe: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
620 persistent-nodemap: yes |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
621 $ hg debugformat -R ./other-wc/ | grep -E 'share-safe|persistent-nodemap' |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
622 share-safe: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
623 persistent-nodemap: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
624 $ hg -R ./other-wc update 'min(head())' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
625 3 files updated, 0 files merged, 2 files removed, 0 files unresolved |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
626 $ hg -R ./race-repo debugnodemap --metadata |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
627 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
628 tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
629 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
630 data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
631 data-unused: 0 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
632 data-unused: 0.000% |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
633 $ hg -R ./race-repo log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
634 @ changeset: 5005:90d5d3ba2fc4 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
635 | tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
636 ~ user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
637 date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
638 summary: a2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
639 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
640 o changeset: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
641 | user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
642 ~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
643 summary: foo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
644 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
645 $ hg -R ./other-wc log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
646 o changeset: 5005:90d5d3ba2fc4 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
647 | tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
648 ~ user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
649 date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
650 summary: a2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
651 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
652 @ changeset: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
653 | user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
654 ~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
655 summary: foo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
656 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
657 $ echo left-side-race > race-repo/left-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
658 $ hg -R ./race-repo/ add race-repo/left-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
659 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
660 $ echo right-side-race > ./other-wc/right-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
661 $ hg -R ./other-wc/ add ./other-wc/right-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
662 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
663 $ mkdir sync-files |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
664 $ mkdir outputs |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
665 $ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
666 > hg -R ./race-repo/ commit -m left-side-commit \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
667 > --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
668 > --config 'devel.nodemap-race.role=left'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
669 > touch sync-files/left-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
670 > ) > outputs/left.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
671 $ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
672 > hg -R ./other-wc/ commit -m right-side-commit \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
673 > --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
674 > --config 'devel.nodemap-race.role=right'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
675 > touch sync-files/right-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
676 > ) > outputs/right.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
677 $ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
678 > hg -R ./race-repo/ check-nodemap-race \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
679 > --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
680 > --config 'devel.nodemap-race.role=reader'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
681 > touch sync-files/reader-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
682 > ) > outputs/reader.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
683 $ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/left-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
684 $ cat outputs/left.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
685 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
686 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
687 actual-tip: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
688 tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
689 data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
690 nodemap-race: left side locked and ready to commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
691 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
692 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
693 actual-tip: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
694 tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
695 data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
696 finalized changelog write |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
697 persisting changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
698 new data start at 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
699 persisted changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
700 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
701 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
702 actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
703 tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
704 data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
705 $ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/right-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
706 $ cat outputs/right.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
707 nodemap-race: right side start of the locking sequence |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
708 nodemap-race: right side reading changelog |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
709 nodemap-race: right side reading of changelog is done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
710 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
711 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
712 actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
713 tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
714 data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
715 nodemap-race: right side ready to wait for the lock |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
716 nodemap-race: right side locked and ready to commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
717 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
718 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
719 actual-tip: 5006 |
47888
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47887
diff
changeset
|
720 tip-rev: 5006 |
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47887
diff
changeset
|
721 data-length: 121280 |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
722 right ready to write, waiting for reader |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
723 right proceeding with writing its changelog index and nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
724 finalized changelog write |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
725 persisting changelog nodemap |
47888
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47887
diff
changeset
|
726 new data start at 121280 |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
727 persisted changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
728 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
729 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
730 actual-tip: 5007 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
731 tip-rev: 5007 |
47888
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47887
diff
changeset
|
732 data-length: 121536 |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
733 $ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/reader-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
734 $ cat outputs/reader.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
735 reader: reading changelog |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
736 reader ready to read the changelog, waiting for right |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
737 reader: nodemap docket read |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
738 record-data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
739 actual-data-length: 121280 |
47888
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47887
diff
changeset
|
740 file-actual-length: 121536 |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
741 reader: changelog read |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
742 docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
743 uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
744 actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
745 tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
746 data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
747 tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
748 tip-node: 492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
749 node-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
750 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
751 $ hg -R ./race-repo log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
752 o changeset: 5007:ac4a2abde241 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
753 | tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
754 ~ parent: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
755 user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
756 date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
757 summary: right-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
758 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
759 @ changeset: 5006:492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
760 | user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
761 ~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
762 summary: left-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
763 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
764 $ hg -R ./other-wc log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
765 @ changeset: 5007:ac4a2abde241 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
766 | tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
767 ~ parent: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
768 user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
769 date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
770 summary: right-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
771 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
772 o changeset: 5006:492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
773 | user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
774 ~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
775 summary: left-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
776 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
777 #endif |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
778 |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
779 Test upgrade / downgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
780 ======================== |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
781 |
47887
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
782 $ cd ./test-repo/ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47886
diff
changeset
|
783 |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
784 downgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
785 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
786 $ cat << EOF >> .hg/hgrc |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
787 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
788 > use-persistent-nodemap=no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
789 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
790 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
791 format-variant repo config default |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
792 fncache: yes yes yes |
47328
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47322
diff
changeset
|
793 dirstate-v2: no no no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
794 tracked-hint: no no no |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
795 dotencode: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
796 generaldelta: yes yes yes |
48691
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48344
diff
changeset
|
797 share-safe: yes yes yes |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
798 sparserevlog: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
799 persistent-nodemap: yes no no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
800 copies-sdc: no no no |
46718
fd55a9eb1507
revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents:
46576
diff
changeset
|
801 revlog-v2: no no no |
47274
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47035
diff
changeset
|
802 changelog-v2: no no no |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
803 plain-cl-delta: yes yes yes |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
804 compression: zlib zlib zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
805 compression: zstd zstd zstd (zstd !) |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
806 compression-level: default default default |
47884
ce01b97a93da
persistent-nodemap: use quiet upgrade in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47883
diff
changeset
|
807 $ hg debugupgraderepo --run --no-backup --quiet |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
808 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
809 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
810 requirements |
47886
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
811 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
812 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48360
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48344
diff
changeset
|
813 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
814 removed: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
815 |
46039
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
816 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
817 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
818 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
819 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
820 |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
821 $ ls -1 .hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
50290
92734603e33e
undo-files: clean existing files up before writing new one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48793
diff
changeset
|
822 [1] |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
823 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
824 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
825 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
826 upgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
827 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
828 $ cat << EOF >> .hg/hgrc |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
829 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
830 > use-persistent-nodemap=yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
831 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
832 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
833 format-variant repo config default |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
834 fncache: yes yes yes |
47328
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47322
diff
changeset
|
835 dirstate-v2: no no no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
836 tracked-hint: no no no |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
837 dotencode: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
838 generaldelta: yes yes yes |
48691
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48344
diff
changeset
|
839 share-safe: yes yes yes |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
840 sparserevlog: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
841 persistent-nodemap: no yes no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
842 copies-sdc: no no no |
46718
fd55a9eb1507
revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents:
46576
diff
changeset
|
843 revlog-v2: no no no |
47274
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47035
diff
changeset
|
844 changelog-v2: no no no |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
845 plain-cl-delta: yes yes yes |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
846 compression: zlib zlib zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46719
diff
changeset
|
847 compression: zstd zstd zstd (zstd !) |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
848 compression-level: default default default |
47884
ce01b97a93da
persistent-nodemap: use quiet upgrade in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47883
diff
changeset
|
849 $ hg debugupgraderepo --run --no-backup --quiet |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
850 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
851 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
852 requirements |
47886
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
853 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
854 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48360
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48344
diff
changeset
|
855 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
856 added: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
857 |
46039
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
858 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
859 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
860 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
861 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
862 |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
863 $ ls -1 .hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
864 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
865 00changelog.n |
46575
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46533
diff
changeset
|
866 00manifest-*.nd (glob) |
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46533
diff
changeset
|
867 00manifest.n |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
868 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
869 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
870 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
871 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
872 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
873 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
874 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
875 data-unused: 0.000% |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
876 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
877 Running unrelated upgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
878 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
879 $ hg debugupgraderepo --run --no-backup --quiet --optimize re-delta-all |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
880 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
881 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
882 requirements |
47886
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
883 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47884
diff
changeset
|
884 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48360
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48344
diff
changeset
|
885 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
886 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
887 optimisations: re-delta-all |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
888 |
46039
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
889 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
890 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
891 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
892 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46017
diff
changeset
|
893 |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
894 $ ls -1 .hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
44900
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
895 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
896 00changelog.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
897 00manifest-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
898 00manifest.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
899 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
900 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
901 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
902 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
903 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
904 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
905 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44876
diff
changeset
|
906 data-unused: 0.000% |
46248
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
907 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
908 Persistent nodemap and local/streaming clone |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
909 ============================================ |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
910 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
911 $ cd .. |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
912 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
913 standard clone |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
914 -------------- |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
915 |
53028
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
916 The persistent nodemap should exist after a normal clone |
46248
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
917 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
918 $ hg clone --pull --quiet -U test-repo standard-clone |
53028
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
919 $ hg debugformat -R standard-clone | grep persistent-nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
920 persistent-nodemap: yes |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
921 $ ls -1 standard-clone/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
46248
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
922 00changelog-*.nd (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
923 00changelog.n |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
924 00manifest-*.nd (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
925 00manifest.n |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
926 $ hg -R standard-clone debugnodemap --metadata |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
927 uid: * (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
928 tip-rev: 5005 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
929 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
930 data-length: 121088 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
931 data-unused: 0 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
932 data-unused: 0.000% |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46039
diff
changeset
|
933 |
53028
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
934 standard clone, no nodemap requested |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
935 ------------------------------------- |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
936 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
937 If persistent normal is requested to not be here, it should not exist after a normal clone |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
938 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
939 $ hg clone --pull --quiet -U test-repo standard-clone-no-nm \ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
940 > --config format.use-persistent-nodemap=no |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
941 $ hg debugformat -R standard-clone-no-nm | grep persistent-nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
942 persistent-nodemap: no |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
943 $ ls -1 standard-clone-no-nm/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
944 [1] |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
945 $ hg -R standard-clone-no-nm debugnodemap --metadata |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
946 |
46249
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
947 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
948 local clone |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
949 ------------ |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
950 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
951 The persistent nodemap should exist after a streaming clone |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
952 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
953 $ hg clone -U test-repo local-clone |
53028
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
954 $ hg debugformat -R local-clone | grep persistent-nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
955 persistent-nodemap: yes |
50722
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50708
diff
changeset
|
956 $ ls -1 local-clone/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
957 00changelog-*.nd (glob) |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
958 00changelog.n |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
959 00manifest-*.nd (glob) |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
960 00manifest.n |
46249
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
961 $ hg -R local-clone debugnodemap --metadata |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
962 uid: * (glob) |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
963 tip-rev: 5005 |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
964 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
965 data-length: 121088 |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
966 data-unused: 0 |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46311
diff
changeset
|
967 data-unused: 0.000% |
46250
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
968 |
53028
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
969 stream clone |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
970 ------------ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
971 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
972 $ hg clone -U --stream ssh://user@dummy/test-repo stream-clone --quiet |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
973 $ hg debugformat -R stream-clone | grep persistent-nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
974 persistent-nodemap: yes |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
975 $ ls -1 stream-clone/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
976 00changelog-*.nd (glob) |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
977 00changelog.n |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
978 00manifest-*.nd (glob) |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
979 00manifest.n |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
980 $ hg -R stream-clone debugnodemap --metadata |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
981 uid: * (glob) |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
982 tip-rev: 5005 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
983 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
984 data-length: 121088 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
985 data-unused: 0 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
986 data-unused: 0.000% |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
987 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
988 stream requesting no persistent nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
989 --------------------------------------- |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
990 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
991 Even if persistent nodemap affect the store, there is logic to stream clone |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
992 without it. |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
993 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
994 This helps client without supports for persistent nodemap. |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
995 |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
996 $ hg clone -U --stream ssh://user@dummy/test-repo stream-clone-no-nm \ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
997 > --config format.use-persistent-nodemap=no \ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
998 > --config devel.persistent-nodemap=no \ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
999 > --config revlog.persistent-nodemap.slow-path=no \ |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1000 > --quiet |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1001 $ hg debugformat -R stream-clone-no-nm | grep persistent-nodemap |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1002 persistent-nodemap: no |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1003 $ ls -1 stream-clone-no-nm/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1004 [1] |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1005 $ hg -R stream-clone-no-nm debugnodemap --metadata |
89ab2459f62a
stream-bundle: properly process requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50722
diff
changeset
|
1006 |
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1007 Test various corruption case |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1008 ============================ |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1009 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1010 Missing datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1011 ---------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1012 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1013 Test behavior with a missing datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1014 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1015 $ hg clone --quiet --pull test-repo corruption-test-repo |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1016 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1017 corruption-test-repo/.hg/store/00changelog-*.nd (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1018 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1019 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1020 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1021 $ rm corruption-test-repo/.hg/store/00changelog*.nd |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1022 $ hg log -R corruption-test-repo -r . |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1023 changeset: 5005:90d5d3ba2fc4 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1024 tag: tip |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1025 user: test |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1026 date: Thu Jan 01 00:00:00 1970 +0000 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1027 summary: a2 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1028 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1029 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1030 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1031 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1032 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1033 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1034 Truncated data file |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1035 ------------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1036 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1037 Test behavior with a too short datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1038 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1039 rebuild the missing data |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1040 $ hg -R corruption-test-repo debugupdatecache |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1041 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1042 corruption-test-repo/.hg/store/00changelog-*.nd (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1043 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1044 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1045 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1046 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1047 truncate the file |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1048 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1049 $ datafilepath=`ls corruption-test-repo/.hg/store/00changelog*.nd` |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1050 $ f -s $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1051 corruption-test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
48324
141e38ef8d8f
tests: dd status=noxfer is not portable (issue6523)
Thomas Klausner <wiz@gatalith.at>
parents:
48295
diff
changeset
|
1052 $ dd if=$datafilepath bs=1000 count=10 of=$datafilepath-tmp |
47035
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
1053 10+0 records in |
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
1054 10+0 records out |
48324
141e38ef8d8f
tests: dd status=noxfer is not portable (issue6523)
Thomas Klausner <wiz@gatalith.at>
parents:
48295
diff
changeset
|
1055 * bytes * (glob) |
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1056 $ mv $datafilepath-tmp $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1057 $ f -s $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1058 corruption-test-repo/.hg/store/00changelog-*.nd: size=10000 (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1059 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1060 Check that Mercurial reaction to this event |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1061 |
46971
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1062 $ hg -R corruption-test-repo log -r . --traceback |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1063 changeset: 5005:90d5d3ba2fc4 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1064 tag: tip |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1065 user: test |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1066 date: Thu Jan 01 00:00:00 1970 +0000 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1067 summary: a2 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1068 |