Mercurial > hg
annotate tests/test-persistent-nodemap.t @ 46874:84a93fa7ecfd
revlog-compression: use zstd by default (if available)
As see in changeset bb271ec2fbfb, zstd is 20% to 50% faster for reading and
writing.
Use take advantage of the new config behavior to try zstd by default, falling
back to zlib is zstd is not available on that plateform.
Differential Revision: https://phab.mercurial-scm.org/D10326
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 06 Apr 2021 18:55:19 +0200 |
parents | 7d9d9265d40f |
children | cc3ad5c3af3b |
rev | line source |
---|---|
44307
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 |
44791
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44789
diff
changeset
|
5 $ cat << EOF >> $HGRCPATH |
44793
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44791
diff
changeset
|
6 > [format] |
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44791
diff
changeset
|
7 > use-persistent-nodemap=yes |
44313
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44312
diff
changeset
|
8 > [devel] |
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44312
diff
changeset
|
9 > persistent-nodemap=yes |
44308
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44307
diff
changeset
|
10 > 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
|
11 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
12 $ hg init test-repo --config storage.revlog.persistent-nodemap.slow-path=allow |
44791
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44789
diff
changeset
|
13 $ 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
|
14 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
15 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
|
16 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
17 #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
|
18 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
19 $ 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
|
20 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
|
21 (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
|
22 [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
|
23 |
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 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
|
25 |
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 $ 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
|
27 > [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
|
28 > # 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
|
29 > 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
|
30 > 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
|
31 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
32 #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
|
33 |
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
34 #if rust |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
35 |
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
36 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:
46411
diff
changeset
|
37 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:
46411
diff
changeset
|
38 (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:
46411
diff
changeset
|
39 incorrectly used `libc::c_int` (32 bits). |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
40 As a result, -1 passed from Rust for the null revision became 4294967295 in C. |
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
41 |
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
42 $ hg log -r 00000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
43 changeset: -1:000000000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
44 tag: tip |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
45 user: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
46 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:
46411
diff
changeset
|
47 |
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
48 |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
49 #endif |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
50 |
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
|
51 |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
52 $ hg debugformat |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
53 format-variant repo |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
54 fncache: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
55 dotencode: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
56 generaldelta: yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
57 share-safe: no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
58 sparserevlog: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
59 persistent-nodemap: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
60 copies-sdc: no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
61 revlog-v2: no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
62 plain-cl-delta: yes |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
63 compression: zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
64 compression: zstd (zstd !) |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
65 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
|
66 $ 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
|
67 |
44334
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44333
diff
changeset
|
68 $ hg debugnodemap --metadata |
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44333
diff
changeset
|
69 uid: ???????????????? (glob) |
44335
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44334
diff
changeset
|
70 tip-rev: 5000 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
71 tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
72 data-length: 121088 |
44336
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44335
diff
changeset
|
73 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
74 data-unused: 0.000% |
44311
2b72c4ff8ed1
nodemap: use an intermediate "docket" file to carry small metadata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44309
diff
changeset
|
75 $ f --size .hg/store/00changelog.n |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
76 .hg/store/00changelog.n: size=70 |
44464
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
77 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
78 Simple lookup works |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
79 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
80 $ 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:
44445
diff
changeset
|
81 $ 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:
44445
diff
changeset
|
82 5000 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
83 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
84 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
85 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
86 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
87 $ f --sha256 .hg/store/00changelog-*.nd |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
88 .hg/store/00changelog-????????????????.nd: sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd (glob) |
44786
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44785
diff
changeset
|
89 |
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44785
diff
changeset
|
90 $ f --sha256 .hg/store/00manifest-*.nd |
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44785
diff
changeset
|
91 .hg/store/00manifest-????????????????.nd: sha256=97117b1c064ea2f86664a124589e47db0e254e8d34739b5c5cc5bf31c9da2b51 (glob) |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
92 $ hg debugnodemap --dump-new | f --sha256 --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
93 size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
94 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
95 size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
96 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:
44636
diff
changeset
|
97 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:
44636
diff
changeset
|
98 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:
44636
diff
changeset
|
99 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:
44636
diff
changeset
|
100 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:
44636
diff
changeset
|
101 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:
44636
diff
changeset
|
102 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:
44636
diff
changeset
|
103 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:
44636
diff
changeset
|
104 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:
44636
diff
changeset
|
105 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:
44636
diff
changeset
|
106 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:
44636
diff
changeset
|
107 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:
44636
diff
changeset
|
108 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:
44636
diff
changeset
|
109 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:
44636
diff
changeset
|
110 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:
44636
diff
changeset
|
111 00f0: 00 00 00 a4 00 00 00 83 00 00 00 c9 00 00 00 8c |................| |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
112 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
113 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
114 #else |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
115 |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
116 $ f --sha256 .hg/store/00changelog-*.nd |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
117 .hg/store/00changelog-????????????????.nd: sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 (glob) |
44309
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44308
diff
changeset
|
118 $ hg debugnodemap --dump-new | f --sha256 --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
119 size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 |
44309
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44308
diff
changeset
|
120 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
121 size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 |
44307
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
122 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
123 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:
44636
diff
changeset
|
124 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:
44636
diff
changeset
|
125 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:
44636
diff
changeset
|
126 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:
44636
diff
changeset
|
127 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:
44636
diff
changeset
|
128 0060: ff ff ed 66 ff ff ff ff ff ff ff ff ff ff ff ff |...f............| |
44307
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
129 0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
130 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:
44636
diff
changeset
|
131 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:
44636
diff
changeset
|
132 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:
44636
diff
changeset
|
133 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:
44636
diff
changeset
|
134 00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44307
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
135 00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
136 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:
44636
diff
changeset
|
137 00f0: ff ff ff ff ff ff ed 1b ff ff ff ff ff ff ff ff |................| |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
138 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
139 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
140 |
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
141 $ hg debugnodemap --check |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
142 revision in index: 5001 |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
143 revision in nodemap: 5001 |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
144 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
145 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:
44311
diff
changeset
|
146 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
147 $ hg up |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
148 5001 files updated, 0 files merged, 0 files removed, 0 files unresolved |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
149 $ echo foo > foo |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
150 $ hg add foo |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
151 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
152 |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
153 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
|
154 ------------------------------------- |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
155 |
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
|
156 #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
|
157 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
158 $ 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
|
159 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
|
160 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
|
161 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
|
162 (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
|
163 [255] |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
164 |
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
|
165 $ 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
|
166 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
|
167 (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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 |
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
|
174 $ 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
|
175 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
|
176 (check `hg help config.format.use-persistent-nodemap` for details) |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
177 [255] |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
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 #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
|
180 |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
181 $ 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
|
182 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
|
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 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
|
185 |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
186 #endif |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
187 |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
188 $ hg ci -m 'foo' |
44336
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44335
diff
changeset
|
189 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
190 #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:
44495
diff
changeset
|
191 $ hg debugnodemap --metadata |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
192 uid: ???????????????? (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
193 tip-rev: 5001 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
194 tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
195 data-length: 121088 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
196 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
197 data-unused: 0.000% |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
198 #else |
44334
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44333
diff
changeset
|
199 $ hg debugnodemap --metadata |
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44333
diff
changeset
|
200 uid: ???????????????? (glob) |
44335
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44334
diff
changeset
|
201 tip-rev: 5001 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
202 tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
203 data-length: 121344 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
204 data-unused: 256 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
205 data-unused: 0.211% |
44336
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44335
diff
changeset
|
206 #endif |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
207 |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
208 $ f --size .hg/store/00changelog.n |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
209 .hg/store/00changelog.n: size=70 |
44333
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
210 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
211 (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:
44318
diff
changeset
|
212 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
213 #if pure |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
214 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
215 .hg/store/00changelog-????????????????.nd: size=121344, sha256=cce54c5da5bde3ad72a4938673ed4064c86231b9c64376b082b163fdb20f8f66 (glob) |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
216 #endif |
44333
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
217 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
218 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
219 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
220 .hg/store/00changelog-????????????????.nd: size=121344, sha256=952b042fcf614ceb37b542b1b723e04f18f83efe99bee4e0f5ccd232ef470e58 (glob) |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
221 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
222 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
223 #if no-pure no-rust |
44312
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
224 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
225 .hg/store/00changelog-????????????????.nd: size=121088, sha256=df7c06a035b96cb28c7287d349d603baef43240be7736fe34eea419a49702e17 (glob) |
44333
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
226 #endif |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
227 |
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
228 $ hg debugnodemap --check |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
229 revision in index: 5002 |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
230 revision in nodemap: 5002 |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
231 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
232 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:
44336
diff
changeset
|
233 --------------------------- |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
234 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
235 $ 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:
44336
diff
changeset
|
236 $ 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
|
237 $ hg ci -m 'bar' --config storage.revlog.persistent-nodemap.mmap=no |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
238 |
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
239 $ hg debugnodemap --check --config storage.revlog.persistent-nodemap.mmap=yes |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
240 revision in index: 5003 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
241 revision 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
|
242 $ hg debugnodemap --check --config storage.revlog.persistent-nodemap.mmap=no |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
243 revision in index: 5003 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
244 revision in nodemap: 5003 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
245 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
246 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
247 #if pure |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
248 $ hg debugnodemap --metadata |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
249 uid: ???????????????? (glob) |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
250 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
251 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
252 data-length: 121600 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
253 data-unused: 512 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
254 data-unused: 0.421% |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
255 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
256 .hg/store/00changelog-????????????????.nd: size=121600, sha256=def52503d049ccb823974af313a98a935319ba61f40f3aa06a8be4d35c215054 (glob) |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
257 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
258 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
259 $ hg debugnodemap --metadata |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
260 uid: ???????????????? (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
261 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
262 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
263 data-length: 121600 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
264 data-unused: 512 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
265 data-unused: 0.421% |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
266 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
267 .hg/store/00changelog-????????????????.nd: size=121600, sha256=dacf5b5f1d4585fee7527d0e67cad5b1ba0930e6a0928f650f779aefb04ce3fb (glob) |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
268 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
269 #if no-pure no-rust |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
270 $ hg debugnodemap --metadata |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
271 uid: ???????????????? (glob) |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
272 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
273 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
274 data-length: 121088 |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
275 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
276 data-unused: 0.000% |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
277 $ f --sha256 .hg/store/00changelog-*.nd --size |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
278 .hg/store/00changelog-????????????????.nd: size=121088, sha256=59fcede3e3cc587755916ceed29e3c33748cd1aa7d2f91828ac83e7979d935e8 (glob) |
44363
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
279 #endif |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
280 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
281 Test force warming the cache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
282 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
283 $ rm .hg/store/00changelog.n |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
284 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
285 $ hg debugupdatecache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
286 #if pure |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
287 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
288 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
289 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
290 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
291 data-length: 121088 |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
292 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
293 data-unused: 0.000% |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
294 #else |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
295 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
296 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
297 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
298 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
299 data-length: 121088 |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
300 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
301 data-unused: 0.000% |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
302 #endif |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
303 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
304 Check out of sync nodemap |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
305 ========================= |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
306 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
307 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:
44464
diff
changeset
|
308 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
309 $ mkdir ../tmp-copies |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
310 $ cp .hg/store/00changelog-????????????????.nd .hg/store/00changelog.n ../tmp-copies |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
311 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
312 Nodemap lagging behind |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
313 ---------------------- |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
314 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
315 make a new commit |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
316 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
317 $ echo bar2 > bar |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
318 $ hg ci -m 'bar2' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
319 $ 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:
44464
diff
changeset
|
320 $ 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:
44464
diff
changeset
|
321 5003 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
322 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
323 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:
44464
diff
changeset
|
324 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
325 $ hg debugnodemap --metadata |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
326 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
327 tip-rev: 5003 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
328 tip-node: c9329770f979ade2d16912267c38ba5f82fd37b3 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
329 data-length: 121344 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
330 data-length: 121344 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
331 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:
44636
diff
changeset
|
332 data-unused: 192 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
333 data-unused: 192 (rust !) |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
334 data-unused: 0 (no-rust no-pure !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
335 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:
44636
diff
changeset
|
336 data-unused: 0.158% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
337 data-unused: 0.000% (no-rust no-pure !) |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
338 $ 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:
44464
diff
changeset
|
339 $ hg debugnodemap --metadata |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
340 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
341 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
342 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
343 data-length: 121088 |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
344 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
345 data-unused: 0.000% |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
346 $ 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:
44464
diff
changeset
|
347 5003 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
348 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
349 changelog altered |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
350 ----------------- |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
351 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
352 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:
44513
diff
changeset
|
353 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:
44513
diff
changeset
|
354 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:
44513
diff
changeset
|
355 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
356 $ hg up "$NODE~5" |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
357 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
358 $ echo bar > babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
359 $ hg add babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
360 $ hg ci -m 'babar' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
361 created new head |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
362 $ 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:
44513
diff
changeset
|
363 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
364 5004 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
365 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
366 $ 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:
44513
diff
changeset
|
367 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
368 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:
44513
diff
changeset
|
369 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
370 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
371 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
372 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
373 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
374 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
375 data-length: 121088 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
376 data-length: 121088 (no-pure no-rust !) |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
377 data-unused: 448 (pure !) |
44636
c70bcaf7927b
nodemap: automatically "vacuum" the persistent nodemap when too sparse
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44635
diff
changeset
|
378 data-unused: 0 (rust !) |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
379 data-unused: 0 (no-pure no-rust !) |
44636
c70bcaf7927b
nodemap: automatically "vacuum" the persistent nodemap when too sparse
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44635
diff
changeset
|
380 data-unused: 0.000% (rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
381 data-unused: 0.369% (pure !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
382 data-unused: 0.000% (no-pure no-rust !) |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
383 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
384 $ cp -f ../tmp-copies/* .hg/store/ |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
385 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
386 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
387 tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
388 tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
389 data-length: 121088 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
390 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
391 data-unused: 0.000% |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
392 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
393 5002 |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
394 |
46321
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
395 missing data file |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
396 ----------------- |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
397 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
398 $ 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
|
399 > sed 's/uid: //'` |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
400 $ 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
|
401 $ 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
|
402 $ 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
|
403 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
404 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
|
405 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
406 $ hg log -r . |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
407 changeset: 5002:b355ef8adce0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
408 tag: tip |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
409 parent: 4998:d918ad6d18d3 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
410 user: test |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
411 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
|
412 summary: babar |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
413 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
414 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
415 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
416 $ hg debugupdatecache |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
417 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
418 uid: * (glob) |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
419 tip-rev: 5002 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
420 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
421 data-length: 121088 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
422 data-unused: 0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
423 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
|
424 $ 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
|
425 $ 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
|
426 |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
427 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:
44515
diff
changeset
|
428 ================================== |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
429 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
430 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:
44515
diff
changeset
|
431 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
432 $ 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:
44515
diff
changeset
|
433 $ 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:
44515
diff
changeset
|
434 $ 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:
44515
diff
changeset
|
435 $ hg debugnodemap --metadata |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
436 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
437 tip-rev: 5003 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
438 tip-node: a52c5079765b5865d97b993b303a18740113bbb2 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
439 data-length: 121088 |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
440 data-unused: 0 |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
441 data-unused: 0.000% |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
442 $ 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:
44515
diff
changeset
|
443 $ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata" |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
444 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
445 tip-rev: 5004 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
446 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
447 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
448 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
449 data-length: 121088 (no-pure no-rust !) |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
450 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:
44515
diff
changeset
|
451 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:
44515
diff
changeset
|
452 data-unused: 0 (no-pure no-rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
453 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:
44636
diff
changeset
|
454 data-unused: 0.158% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
455 data-unused: 0.000% (no-pure no-rust !) |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
456 $ hg debugnodemap --metadata |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
457 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
458 tip-rev: 5004 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
459 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
460 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
461 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
462 data-length: 121088 (no-pure no-rust !) |
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
463 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:
44515
diff
changeset
|
464 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:
44515
diff
changeset
|
465 data-unused: 0 (no-pure no-rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
466 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:
44636
diff
changeset
|
467 data-unused: 0.158% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
468 data-unused: 0.000% (no-pure no-rust !) |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
469 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
470 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:
44516
diff
changeset
|
471 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
472 $ PATH=$RUNTESTDIR/testlib/:$PATH |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
473 $ echo qpoasp > a |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
474 $ hg ci -m a2 \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
475 > --config "hooks.pretxnclose=wait-on-file 20 sync-repo-read sync-txn-pending" \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
476 > --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:
44516
diff
changeset
|
477 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
478 (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:
44516
diff
changeset
|
479 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
480 $ wait-on-file 20 sync-txn-pending && \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
481 > hg debugnodemap --metadata && \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
482 > wait-on-file 20 sync-txn-close sync-repo-read |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
483 uid: ???????????????? (glob) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
484 tip-rev: 5004 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
485 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
486 data-length: 121280 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
487 data-length: 121280 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
488 data-length: 121088 (no-pure no-rust !) |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
489 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:
44516
diff
changeset
|
490 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:
44516
diff
changeset
|
491 data-unused: 0 (no-pure no-rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
492 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:
44636
diff
changeset
|
493 data-unused: 0.158% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
494 data-unused: 0.000% (no-pure no-rust !) |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
495 $ hg debugnodemap --metadata |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
496 uid: ???????????????? (glob) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
497 tip-rev: 5005 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
498 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
499 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
500 data-length: 121536 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
501 data-length: 121088 (no-pure no-rust !) |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
502 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:
44516
diff
changeset
|
503 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:
44516
diff
changeset
|
504 data-unused: 0 (no-pure no-rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
505 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:
44636
diff
changeset
|
506 data-unused: 0.369% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
507 data-unused: 0.000% (no-pure no-rust !) |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
508 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
509 $ cat output.txt |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
510 |
44634
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
511 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:
44633
diff
changeset
|
512 |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
513 $ 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:
44633
diff
changeset
|
514 $ f --size --sha256 .hg/store/00changelog-*.nd |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
515 .hg/store/00changelog-????????????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
516 .hg/store/00changelog-????????????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
517 .hg/store/00changelog-????????????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !) |
44634
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
518 $ 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:
44633
diff
changeset
|
519 transaction abort! |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
520 rollback completed |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
521 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:
44633
diff
changeset
|
522 [255] |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
523 $ hg debugnodemap --metadata |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
524 uid: ???????????????? (glob) |
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
525 tip-rev: 5005 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
526 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
527 data-length: 121536 (pure !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
528 data-length: 121536 (rust !) |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
529 data-length: 121088 (no-pure no-rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
530 data-unused: 448 (pure !) |
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
531 data-unused: 448 (rust !) |
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
532 data-unused: 0 (no-pure no-rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
533 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:
44636
diff
changeset
|
534 data-unused: 0.369% (rust !) |
44635
99ea74cbed74
nodemap: display percentage of unused in `hg debugnodemap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44634
diff
changeset
|
535 data-unused: 0.000% (no-pure no-rust !) |
44634
01b0805534bb
nodemap: make sure on disk change get rolled back with the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44633
diff
changeset
|
536 $ f --size --sha256 .hg/store/00changelog-*.nd |
45052
91f4662b7fa7
test: restore expected output in test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44960
diff
changeset
|
537 .hg/store/00changelog-????????????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
91f4662b7fa7
test: restore expected output in test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44960
diff
changeset
|
538 .hg/store/00changelog-????????????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
539 .hg/store/00changelog-????????????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !) |
44954
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
540 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
541 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:
44636
diff
changeset
|
542 -------------------------------------------------------- |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
543 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
544 removing data with rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
545 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
546 $ echo aso > a |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
547 $ hg ci -m a4 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
548 $ hg rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
549 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:
44636
diff
changeset
|
550 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:
44636
diff
changeset
|
551 $ hg id -r . |
44960 | 552 90d5d3ba2fc4 tip |
44954
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
553 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
554 roming data with strip |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
555 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
556 $ echo aso > a |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
557 $ hg ci -m a4 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
558 $ 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:
44636
diff
changeset
|
559 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:
44636
diff
changeset
|
560 $ hg id -r . --traceback |
44960 | 561 90d5d3ba2fc4 tip |
562 | |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
563 Test upgrade / downgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
564 ======================== |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
565 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
566 downgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
567 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
568 $ cat << EOF >> .hg/hgrc |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
569 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
570 > use-persistent-nodemap=no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
571 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
572 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
573 format-variant repo config default |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
574 fncache: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
575 dotencode: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
576 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
577 share-safe: no no no |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
578 sparserevlog: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
579 persistent-nodemap: yes no no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
580 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
581 revlog-v2: no no no |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
582 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:
46706
diff
changeset
|
583 compression: zlib zlib zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
584 compression: zstd zstd zstd (zstd !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
585 compression-level: default default default |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
586 $ hg debugupgraderepo --run --no-backup |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
587 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
588 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
589 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
590 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
591 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
592 removed: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
593 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
594 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
595 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
596 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
597 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
598 |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
599 beginning upgrade... |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
600 repository locked and read-only |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
601 creating temporary repository to stage upgraded data: $TESTTMP/test-repo/.hg/upgrade.* (glob) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
602 (it is safe to interrupt this process any time before data migration completes) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
603 downgrading repository to not use persistent nodemap feature |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
604 removing temporary repository $TESTTMP/test-repo/.hg/upgrade.* (glob) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
605 $ ls -1 .hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
606 00changelog-*.nd (glob) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
607 00manifest-*.nd (glob) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
608 undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
609 undo.backup.00manifest.n |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
610 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
611 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
612 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
613 upgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
614 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
615 $ cat << EOF >> .hg/hgrc |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
616 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
617 > use-persistent-nodemap=yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
618 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
619 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
620 format-variant repo config default |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
621 fncache: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
622 dotencode: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
623 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
624 share-safe: no no no |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
625 sparserevlog: yes yes yes |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
626 persistent-nodemap: no yes no |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
627 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
628 revlog-v2: no no no |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
629 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:
46706
diff
changeset
|
630 compression: zlib zlib zlib (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
631 compression: zstd zstd zstd (zstd !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
632 compression-level: default default default |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
633 $ hg debugupgraderepo --run --no-backup |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
634 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
635 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
636 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
637 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
638 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
639 added: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
640 |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
641 persistent-nodemap |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
642 Speedup revision lookup by node id. |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
643 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
644 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
645 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
646 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
647 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
648 |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
649 beginning upgrade... |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
650 repository locked and read-only |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
651 creating temporary repository to stage upgraded data: $TESTTMP/test-repo/.hg/upgrade.* (glob) |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
652 (it is safe to interrupt this process any time before data migration completes) |
46472
98e39f04d60e
upgrade: implement partial upgrade for upgrading persistent-nodemap
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46471
diff
changeset
|
653 upgrading repository to use persistent nodemap feature |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
654 removing temporary repository $TESTTMP/test-repo/.hg/upgrade.* (glob) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
655 $ ls -1 .hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
656 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
657 00changelog.n |
46525
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
658 00manifest-*.nd (glob) |
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
659 00manifest.n |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
660 undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
661 undo.backup.00manifest.n |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
662 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
663 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
664 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
665 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
666 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
667 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
668 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
669 data-unused: 0.000% |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
670 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
671 Running unrelated upgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
672 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
673 $ 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:
44799
diff
changeset
|
674 upgrade will perform the following actions: |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
675 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
676 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
677 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
678 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
679 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
680 optimisations: re-delta-all |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
681 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
682 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
683 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
684 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
685 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
686 |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
687 $ ls -1 .hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
688 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
689 00changelog.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
690 00manifest-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
691 00manifest.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
692 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
693 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
694 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
695 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
696 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
697 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
698 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
699 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:
46035
diff
changeset
|
700 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
701 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:
46035
diff
changeset
|
702 ============================================ |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
703 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
704 $ cd .. |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
705 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
706 standard clone |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
707 -------------- |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
708 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
709 The persistent nodemap should exist after a streaming clone |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
710 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
711 $ hg clone --pull --quiet -U test-repo standard-clone |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
712 $ ls -1 standard-clone/.hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
713 00changelog-*.nd (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
714 00changelog.n |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
715 00manifest-*.nd (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
716 00manifest.n |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
717 $ 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:
46035
diff
changeset
|
718 uid: * (glob) |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
719 tip-rev: 5005 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
720 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
721 data-length: 121088 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
722 data-unused: 0 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
723 data-unused: 0.000% |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
724 |
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
|
725 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
726 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
|
727 ------------ |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
728 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
729 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
|
730 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
731 $ hg clone -U test-repo 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
|
732 $ ls -1 local-clone/.hg/store/ | egrep '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
|
733 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
|
734 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
|
735 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
|
736 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
|
737 $ 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
|
738 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
|
739 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
|
740 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
|
741 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
|
742 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
|
743 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
|
744 |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
745 stream clone |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
746 ------------ |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
747 |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
748 The persistent nodemap should exist after a streaming clone |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
749 |
46251
40ec2173f4dd
persistent-nodemap: highlight that node is not sent when streaming
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46250
diff
changeset
|
750 $ hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone --debug | egrep '00(changelog|manifest)' |
46253
1cebad969d88
persistent-nodemap: also list related file as part of the store
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46251
diff
changeset
|
751 adding [s] 00manifest.n (70 bytes) |
46251
40ec2173f4dd
persistent-nodemap: highlight that node is not sent when streaming
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46250
diff
changeset
|
752 adding [s] 00manifest.i (313 KB) |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
753 adding [s] 00manifest.d (452 KB) (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
754 adding [s] 00manifest.d (491 KB) (zstd !) |
46322
7c1367c0b5bc
persistent-nodemap: also exchange the nodemap data over the wire
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46321
diff
changeset
|
755 adding [s] 00manifest-*.nd (118 KB) (glob) |
46253
1cebad969d88
persistent-nodemap: also list related file as part of the store
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46251
diff
changeset
|
756 adding [s] 00changelog.n (70 bytes) |
46251
40ec2173f4dd
persistent-nodemap: highlight that node is not sent when streaming
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46250
diff
changeset
|
757 adding [s] 00changelog.i (313 KB) |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
758 adding [s] 00changelog.d (360 KB) (no-zstd !) |
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
759 adding [s] 00changelog.d (368 KB) (zstd !) |
46322
7c1367c0b5bc
persistent-nodemap: also exchange the nodemap data over the wire
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46321
diff
changeset
|
760 adding [s] 00changelog-*.nd (118 KB) (glob) |
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
|
761 $ ls -1 stream-clone/.hg/store/ | egrep '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
|
762 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
|
763 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
|
764 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
|
765 00manifest.n |
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
|
766 $ hg -R stream-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
|
767 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
|
768 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
|
769 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
|
770 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
|
771 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
|
772 data-unused: 0.000% |