Mercurial > hg
annotate tests/test-persistent-nodemap.t @ 47072:4c041c71ec01
revlog: introduce an explicit tracking of what the revlog is about
Since the dawn of time, people have been forced to rely to lossy introspection
of the index filename to determine what the purpose and role of the revlog they
encounter is. This is hacky, error prone, inflexible, abstraction-leaky,
<insert-your-own-complaints-here>.
In f63299ee7e4d Raphaël introduced a new attribute to track this information:
`revlog_kind`. However it is initialized in an odd place and various instances
end up not having it set. In addition is only tracking some of the information
we end up having to introspect in various pieces of code.
So we add a new attribute that holds more data and is more strictly enforced.
This work is done in collaboration with Raphaël.
The `revlog_kind` one will be removed/adapted in the next changeset. We expect
to be able to clean up various existing piece of code and to simplify coming
work around the newer revlog format.
Differential Revision: https://phab.mercurial-scm.org/D10352
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 06 Apr 2021 05:20:24 +0200 |
parents | 0b569c75d180 |
children | 9e3979a25bfe |
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 |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
5 |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
6 #if no-rust |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
7 |
44791
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44789
diff
changeset
|
8 $ 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
|
9 > [format] |
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44791
diff
changeset
|
10 > 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
|
11 > [devel] |
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44312
diff
changeset
|
12 > persistent-nodemap=yes |
44308
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44307
diff
changeset
|
13 > 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
|
14 |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
15 #endif |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
16 |
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
|
17 $ 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
|
18 $ 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
|
19 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
20 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
|
21 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
22 #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
|
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 $ 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
|
25 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
|
26 (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
|
27 [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
|
28 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
29 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
|
30 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
31 $ 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
|
32 > [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
|
33 > # 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
|
34 > 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
|
35 > 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
|
36 |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
37 #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
|
38 |
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
39 #if rust |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
40 |
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
41 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
|
42 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
|
43 (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
|
44 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
|
45 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
|
46 |
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
47 $ hg log -r 00000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
48 changeset: -1:000000000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
49 tag: tip |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
50 user: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
51 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
|
52 |
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
53 |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
54 #endif |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
55 |
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
|
56 |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
57 $ hg debugformat |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
58 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
|
59 fncache: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
60 dotencode: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
61 generaldelta: yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
62 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
|
63 sparserevlog: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
64 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
|
65 copies-sdc: no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
66 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
|
67 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
|
68 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
|
69 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
|
70 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
|
71 $ 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
|
72 |
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
|
73 $ 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 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
|
80 $ 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
|
81 .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
|
82 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
83 Simple lookup works |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
84 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
85 $ 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
|
86 $ 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
|
87 5000 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
88 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
89 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
90 #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
|
91 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
92 $ 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
|
93 .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
|
94 |
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44785
diff
changeset
|
95 $ 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
|
96 .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
|
97 $ 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
|
98 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
|
99 $ 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
118 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
119 #else |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
120 |
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
|
121 $ 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
|
122 .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
|
123 $ 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
|
124 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
|
125 $ 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
144 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
145 |
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
146 $ 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
|
147 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
|
148 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
|
149 |
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 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
|
151 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
152 $ 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
|
153 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
|
154 $ 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
|
155 $ hg add foo |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
156 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
157 |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
158 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
|
159 ------------------------------------- |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
160 |
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
|
161 #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
|
162 |
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
163 $ 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
|
164 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
|
165 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
|
166 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
|
167 (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
|
168 [255] |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
169 |
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
|
170 $ 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
|
171 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
|
172 (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
|
173 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
|
174 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
|
175 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
|
176 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
|
177 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
|
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 $ 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
|
180 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
|
181 (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
|
182 [255] |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
183 |
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
|
184 #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
|
185 |
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
186 $ 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
|
187 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
|
188 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
|
189 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
|
190 |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
191 #endif |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
192 |
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
|
193 $ 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
|
194 |
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
195 #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
|
196 $ 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
|
197 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
|
198 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
|
199 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
|
200 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
|
201 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
|
202 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
|
203 #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
|
204 $ 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
|
205 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
|
206 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
|
207 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
|
208 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
|
209 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
|
210 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
|
211 #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
|
212 |
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
|
213 $ 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
|
214 .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
|
215 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
216 (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
|
217 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
218 #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
|
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=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
|
221 #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
|
222 |
44513
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 rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
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=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
|
226 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
227 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
228 #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
|
229 $ 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
|
230 .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
|
231 #endif |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
232 |
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
233 $ 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
|
234 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
|
235 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
|
236 |
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
|
237 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
|
238 --------------------------- |
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
|
239 |
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 $ 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
|
241 $ 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
|
242 $ 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
|
243 |
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
244 $ 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
|
245 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
|
246 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
|
247 $ 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
|
248 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
|
249 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
|
250 |
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
|
251 |
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
|
252 #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
|
253 $ 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
|
254 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
|
255 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
|
256 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
|
257 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
|
258 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
|
259 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
|
260 $ 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
|
261 .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
|
262 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
263 #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
|
264 $ 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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 $ 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
|
272 .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
|
273 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
274 #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
|
275 $ 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
|
276 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
|
277 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
|
278 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
|
279 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
|
280 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
|
281 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
|
282 $ 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
|
283 .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
|
284 #endif |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
285 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
286 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
|
287 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
288 $ 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
|
289 $ 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
|
290 $ hg debugupdatecache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
291 #if pure |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
292 $ 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
|
293 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
294 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
|
295 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
|
296 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
|
297 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
|
298 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
|
299 #else |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
300 $ 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
|
301 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
302 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
|
303 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
|
304 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
|
305 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
|
306 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
|
307 #endif |
44495
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 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
|
310 ========================= |
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 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
|
313 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
314 $ 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
|
315 $ 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
|
316 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
317 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
|
318 ---------------------- |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
319 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
320 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
|
321 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
322 $ 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
|
323 $ 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
|
324 $ 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
|
325 $ 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
|
326 5003 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
327 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
328 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
|
329 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
330 $ 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
|
331 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
332 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
|
333 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
|
334 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
|
335 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
|
336 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
|
337 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
|
338 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
|
339 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
|
340 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
|
341 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
|
342 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
|
343 $ 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
|
344 $ 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
|
345 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
346 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
|
347 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
|
348 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
|
349 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
|
350 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
|
351 $ 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
|
352 5003 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
353 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
354 changelog altered |
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 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
357 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
|
358 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
|
359 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
|
360 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
361 $ 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
|
362 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
|
363 $ echo bar > babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
364 $ hg add babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
365 $ hg ci -m 'babar' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
366 created new head |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
367 $ 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
|
368 $ 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
|
369 5004 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
370 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
371 $ 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
|
372 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
373 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
|
374 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
375 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
376 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
377 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
|
378 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
|
379 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
|
380 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
|
381 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
|
382 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
|
383 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
|
384 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
|
385 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
|
386 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
|
387 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
|
388 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
389 $ 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
|
390 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
391 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
392 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
|
393 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
|
394 data-length: 121088 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
395 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
|
396 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
|
397 $ 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
|
398 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
|
399 |
46321
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
400 missing data file |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
401 ----------------- |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
402 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
403 $ 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
|
404 > sed 's/uid: //'` |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
405 $ 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
|
406 $ 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
|
407 $ 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
|
408 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
409 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
|
410 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
411 $ hg log -r . |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
412 changeset: 5002:b355ef8adce0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
413 tag: tip |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
414 parent: 4998:d918ad6d18d3 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
415 user: test |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
416 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
|
417 summary: babar |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
418 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
419 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
420 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
421 $ hg debugupdatecache |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
422 $ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
423 uid: * (glob) |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
424 tip-rev: 5002 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
425 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
426 data-length: 121088 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
427 data-unused: 0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
428 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
|
429 $ 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
|
430 $ 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
|
431 |
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
|
432 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
|
433 ================================== |
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 |
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 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
|
436 |
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 $ 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
|
438 $ 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
|
439 $ 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
|
440 $ 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
|
441 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
|
442 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
|
443 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
|
444 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
|
445 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
|
446 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
|
447 $ 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
|
448 $ 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
|
449 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
|
450 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
|
451 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
|
452 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
|
453 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
|
454 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
|
455 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
|
456 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
|
457 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
|
458 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
|
459 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
|
460 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
|
461 $ 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
|
462 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
|
463 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
|
464 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
|
465 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
|
466 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
|
467 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
|
468 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
|
469 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
|
470 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
|
471 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
|
472 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
|
473 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
|
474 |
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 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
|
476 |
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 $ 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
|
478 $ 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
|
479 $ 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
|
480 > --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
|
481 > --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
|
482 |
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 (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
|
484 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
485 $ 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
|
486 > 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
|
487 > 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
|
488 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
|
489 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
|
490 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
|
491 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
|
492 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
|
493 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
|
494 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
|
495 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
|
496 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
|
497 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
|
498 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
|
499 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
|
500 $ 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
|
501 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
|
502 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
|
503 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
|
504 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
|
505 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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 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
|
512 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
|
513 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
514 $ 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
|
515 |
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
|
516 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
|
517 |
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 $ 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
|
519 $ 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
|
520 .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
|
521 .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
|
522 .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
|
523 $ 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
|
524 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
|
525 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
|
526 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
|
527 [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
|
528 $ 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
|
529 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
|
530 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
|
531 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
|
532 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
|
533 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
|
534 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
|
535 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
|
536 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
|
537 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
|
538 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
|
539 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
|
540 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
|
541 $ 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
|
542 .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
|
543 .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
|
544 .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
|
545 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
546 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
|
547 -------------------------------------------------------- |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
548 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
549 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
|
550 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
551 $ 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
|
552 $ 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
|
553 $ hg rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
554 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
|
555 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
|
556 $ hg id -r . |
44960 | 557 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
|
558 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
559 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
|
560 |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
561 $ 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
|
562 $ 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
|
563 $ 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
|
564 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
|
565 $ hg id -r . --traceback |
44960 | 566 90d5d3ba2fc4 tip |
567 | |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
568 Test upgrade / downgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
569 ======================== |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
570 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
571 downgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
572 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
573 $ 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
|
574 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
575 > 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
|
576 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
577 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
578 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
|
579 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
|
580 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
|
581 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
582 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
|
583 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
|
584 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
|
585 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
586 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
|
587 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
|
588 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
|
589 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
|
590 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
|
591 $ 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
|
592 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
|
593 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
594 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
595 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
|
596 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
|
597 removed: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
598 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
599 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
600 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
601 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
602 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
603 |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
604 beginning upgrade... |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
605 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
|
606 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
|
607 (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
|
608 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
|
609 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
|
610 $ 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
|
611 00changelog-*.nd (glob) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
612 00manifest-*.nd (glob) |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
613 undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
614 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
|
615 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
616 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
617 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
618 upgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
619 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
620 $ 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
|
621 > [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
622 > 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
|
623 > EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
624 $ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
625 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
|
626 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
|
627 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
|
628 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46322
diff
changeset
|
629 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
|
630 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
|
631 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
|
632 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
633 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
|
634 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
|
635 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
|
636 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
|
637 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
|
638 $ 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
|
639 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
|
640 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
641 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
642 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
|
643 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
|
644 added: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
645 |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
646 persistent-nodemap |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
647 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
|
648 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
649 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
650 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
651 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
652 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
653 |
46471
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
654 beginning upgrade... |
bfaacfa8ebfc
tests: unquiet a test to show changes in next patch
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46412
diff
changeset
|
655 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
|
656 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
|
657 (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
|
658 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
|
659 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
|
660 $ 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
|
661 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
662 00changelog.n |
46525
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
663 00manifest-*.nd (glob) |
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
664 00manifest.n |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
665 undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
666 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
|
667 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
668 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
669 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
670 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
671 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
672 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
673 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
674 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
|
675 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
676 Running unrelated upgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
677 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
678 $ 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
|
679 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
|
680 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
681 requirements |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
682 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
|
683 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
|
684 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
685 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
|
686 |
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
687 processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
688 - all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
689 - changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
690 - manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
691 |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
692 $ 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
|
693 00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
694 00changelog.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
695 00manifest-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
696 00manifest.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
697 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
698 $ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
699 uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
700 tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
701 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
702 data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
703 data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
704 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
|
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 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
|
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 $ cd .. |
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 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 -------------- |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
713 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
714 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
|
715 |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
716 $ 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
|
717 $ 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
|
718 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
|
719 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
|
720 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
|
721 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
|
722 $ 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
|
723 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
|
724 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
|
725 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
|
726 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
|
727 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
|
728 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
|
729 |
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
|
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 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 ------------ |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
733 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
734 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
|
735 |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
736 $ 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
|
737 $ 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
|
738 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
|
739 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
|
740 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
|
741 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
|
742 $ 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
|
743 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
|
744 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
|
745 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
|
746 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
|
747 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
|
748 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
|
749 |
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
750 Test various corruption case |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
751 ============================ |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
752 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
753 Missing datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
754 ---------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
755 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
756 Test behavior with a missing datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
757 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
758 $ hg clone --quiet --pull test-repo corruption-test-repo |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
759 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
760 corruption-test-repo/.hg/store/00changelog-*.nd (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
761 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
762 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
763 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
764 $ rm corruption-test-repo/.hg/store/00changelog*.nd |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
765 $ hg log -R corruption-test-repo -r . |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
766 changeset: 5005:90d5d3ba2fc4 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
767 tag: tip |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
768 user: test |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
769 date: Thu Jan 01 00:00:00 1970 +0000 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
770 summary: a2 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
771 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
772 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
773 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
774 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
775 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
776 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
777 Truncated data file |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
778 ------------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
779 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
780 Test behavior with a too short datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
781 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
782 rebuild the missing data |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
783 $ hg -R corruption-test-repo debugupdatecache |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
784 $ ls -1 corruption-test-repo/.hg/store/00changelog* |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
785 corruption-test-repo/.hg/store/00changelog-*.nd (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
786 corruption-test-repo/.hg/store/00changelog.d |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
787 corruption-test-repo/.hg/store/00changelog.i |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
788 corruption-test-repo/.hg/store/00changelog.n |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
789 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
790 truncate the file |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
791 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
792 $ datafilepath=`ls corruption-test-repo/.hg/store/00changelog*.nd` |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
793 $ f -s $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
794 corruption-test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
795 $ dd if=$datafilepath bs=1000 count=10 of=$datafilepath-tmp status=none |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
796 $ mv $datafilepath-tmp $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
797 $ f -s $datafilepath |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
798 corruption-test-repo/.hg/store/00changelog-*.nd: size=10000 (glob) |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
799 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
800 Check that Mercurial reaction to this event |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
801 |
46971
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
802 $ hg -R corruption-test-repo log -r . --traceback |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
803 changeset: 5005:90d5d3ba2fc4 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
804 tag: tip |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
805 user: test |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
806 date: Thu Jan 01 00:00:00 1970 +0000 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
807 summary: a2 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
808 |
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
809 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
810 |
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
|
811 stream clone |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
812 ============ |
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
|
813 |
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
814 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
|
815 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
816 Simple case |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
817 ----------- |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
818 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
819 No race condition |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
820 |
46251
40ec2173f4dd
persistent-nodemap: highlight that node is not sent when streaming
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46250
diff
changeset
|
821 $ 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
|
822 adding [s] 00manifest.n (70 bytes) |
46322
7c1367c0b5bc
persistent-nodemap: also exchange the nodemap data over the wire
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46321
diff
changeset
|
823 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
|
824 adding [s] 00changelog.n (70 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
825 adding [s] 00changelog-*.nd (118 KB) (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
826 adding [s] 00manifest.d (452 KB) (no-zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
827 adding [s] 00manifest.d (491 KB) (zstd !) |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
828 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
|
829 adding [s] 00changelog.d (368 KB) (zstd !) |
46895
6085b7f1536d
store: also return some information about the type of file `walk` found
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46884
diff
changeset
|
830 adding [s] 00manifest.i (313 KB) |
6085b7f1536d
store: also return some information about the type of file `walk` found
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46884
diff
changeset
|
831 adding [s] 00changelog.i (313 KB) |
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
|
832 $ 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
|
833 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
|
834 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
|
835 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
|
836 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
|
837 $ 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
|
838 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
|
839 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
|
840 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
|
841 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
|
842 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
|
843 data-unused: 0.000% |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
844 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
845 new data appened |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
846 ----------------- |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
847 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
848 Other commit happening on the server during the stream clone |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
849 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
850 setup the step-by-step stream cloning |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
851 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
852 $ HG_TEST_STREAM_WALKED_FILE_1="$TESTTMP/sync_file_walked_1" |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
853 $ export HG_TEST_STREAM_WALKED_FILE_1 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
854 $ HG_TEST_STREAM_WALKED_FILE_2="$TESTTMP/sync_file_walked_2" |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
855 $ export HG_TEST_STREAM_WALKED_FILE_2 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
856 $ HG_TEST_STREAM_WALKED_FILE_3="$TESTTMP/sync_file_walked_3" |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
857 $ export HG_TEST_STREAM_WALKED_FILE_3 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
858 $ cat << EOF >> test-repo/.hg/hgrc |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
859 > [extensions] |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
860 > steps=$RUNTESTDIR/testlib/ext-stream-clone-steps.py |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
861 > EOF |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
862 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
863 Check and record file state beforehand |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
864 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
865 $ f --size test-repo/.hg/store/00changelog* |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
866 test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
867 test-repo/.hg/store/00changelog.d: size=376891 (zstd !) |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
868 test-repo/.hg/store/00changelog.d: size=368890 (no-zstd !) |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
869 test-repo/.hg/store/00changelog.i: size=320384 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
870 test-repo/.hg/store/00changelog.n: size=70 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
871 $ hg -R test-repo debugnodemap --metadata | tee server-metadata.txt |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
872 uid: * (glob) |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
873 tip-rev: 5005 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
874 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
875 data-length: 121088 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
876 data-unused: 0 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
877 data-unused: 0.000% |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
878 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
879 Prepare a commit |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
880 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
881 $ echo foo >> test-repo/foo |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
882 $ hg -R test-repo/ add test-repo/foo |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
883 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
884 Do a mix of clone and commit at the same time so that the file listed on disk differ at actual transfer time. |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
885 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
886 $ (hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone-race-1 --debug 2>> clone-output | egrep '00(changelog|manifest)' >> clone-output; touch $HG_TEST_STREAM_WALKED_FILE_3) & |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
887 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
888 $ hg -R test-repo/ commit -m foo |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
889 $ touch $HG_TEST_STREAM_WALKED_FILE_2 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
890 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
891 $ cat clone-output |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
892 adding [s] 00manifest.n (70 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
893 adding [s] 00manifest-*.nd (118 KB) (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
894 adding [s] 00changelog.n (70 bytes) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
895 adding [s] 00changelog-*.nd (118 KB) (glob) |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
896 adding [s] 00manifest.d (452 KB) (no-zstd !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
897 adding [s] 00manifest.d (491 KB) (zstd !) |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
898 adding [s] 00changelog.d (360 KB) (no-zstd !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
899 adding [s] 00changelog.d (368 KB) (zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
900 adding [s] 00manifest.i (313 KB) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
901 adding [s] 00changelog.i (313 KB) |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
902 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
903 Check the result state |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
904 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
905 $ f --size stream-clone-race-1/.hg/store/00changelog* |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
906 stream-clone-race-1/.hg/store/00changelog-*.nd: size=121088 (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
907 stream-clone-race-1/.hg/store/00changelog.d: size=368890 (no-zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
908 stream-clone-race-1/.hg/store/00changelog.d: size=376891 (zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
909 stream-clone-race-1/.hg/store/00changelog.i: size=320384 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
910 stream-clone-race-1/.hg/store/00changelog.n: size=70 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
911 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
912 $ hg -R stream-clone-race-1 debugnodemap --metadata | tee client-metadata.txt |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
913 uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
914 tip-rev: 5005 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
915 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
916 data-length: 121088 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
917 data-unused: 0 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
918 data-unused: 0.000% |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
919 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
920 We get a usable nodemap, so no rewrite would be needed and the metadata should be identical |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
921 (ie: the following diff should be empty) |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
922 |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
923 This isn't the case for the `no-rust` `no-pure` implementation as it use a very minimal nodemap implementation that unconditionnaly rewrite the nodemap "all the time". |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
924 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
925 #if no-rust no-pure |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
926 $ diff -u server-metadata.txt client-metadata.txt |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
927 --- server-metadata.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
928 +++ client-metadata.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
929 @@ -1,4 +1,4 @@ |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
930 -uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
931 +uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
932 tip-rev: 5005 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
933 tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
934 data-length: 121088 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
935 [1] |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
936 #else |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
937 $ diff -u server-metadata.txt client-metadata.txt |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
938 #endif |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
939 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
940 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
941 Clean up after the test. |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
942 |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
943 $ rm -f "$HG_TEST_STREAM_WALKED_FILE_1" |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
944 $ rm -f "$HG_TEST_STREAM_WALKED_FILE_2" |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
945 $ rm -f "$HG_TEST_STREAM_WALKED_FILE_3" |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
946 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
947 full regeneration |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
948 ----------------- |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
949 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
950 A full nodemap is generated |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
951 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
952 (ideally this test would append enough data to make sure the nodemap data file |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
953 get changed, however to make thing simpler we will force the regeneration for |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
954 this test. |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
955 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
956 Check the initial state |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
957 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
958 $ f --size test-repo/.hg/store/00changelog* |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
959 test-repo/.hg/store/00changelog-*.nd: size=121344 (glob) (rust !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
960 test-repo/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
961 test-repo/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
962 test-repo/.hg/store/00changelog.d: size=376950 (zstd !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
963 test-repo/.hg/store/00changelog.d: size=368949 (no-zstd !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
964 test-repo/.hg/store/00changelog.i: size=320448 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
965 test-repo/.hg/store/00changelog.n: size=70 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
966 $ hg -R test-repo debugnodemap --metadata | tee server-metadata-2.txt |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
967 uid: * (glob) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
968 tip-rev: 5006 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
969 tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
970 data-length: 121344 (rust !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
971 data-length: 121344 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
972 data-length: 121152 (no-rust no-pure !) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
973 data-unused: 192 (rust !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
974 data-unused: 192 (pure !) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
975 data-unused: 0 (no-rust no-pure !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
976 data-unused: 0.158% (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
977 data-unused: 0.158% (pure !) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
978 data-unused: 0.000% (no-rust no-pure !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
979 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
980 Performe the mix of clone and full refresh of the nodemap, so that the files |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
981 (and filenames) are different between listing time and actual transfer time. |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
982 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
983 $ (hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone-race-2 --debug 2>> clone-output-2 | egrep '00(changelog|manifest)' >> clone-output-2; touch $HG_TEST_STREAM_WALKED_FILE_3) & |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
984 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
985 $ rm test-repo/.hg/store/00changelog.n |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
986 $ rm test-repo/.hg/store/00changelog-*.nd |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
987 $ hg -R test-repo/ debugupdatecache |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
988 $ touch $HG_TEST_STREAM_WALKED_FILE_2 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
989 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
990 $ cat clone-output-2 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
991 adding [s] 00manifest.n (70 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
992 adding [s] 00manifest-*.nd (118 KB) (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
993 adding [s] 00changelog.n (70 bytes) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
994 adding [s] 00changelog-*.nd (118 KB) (glob) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
995 adding [s] 00manifest.d (492 KB) (zstd !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
996 adding [s] 00manifest.d (452 KB) (no-zstd !) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
997 adding [s] 00changelog.d (360 KB) (no-zstd !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
998 adding [s] 00changelog.d (368 KB) (zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
999 adding [s] 00manifest.i (313 KB) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1000 adding [s] 00changelog.i (313 KB) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1001 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1002 Check the result. |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1003 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1004 $ f --size stream-clone-race-2/.hg/store/00changelog* |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1005 stream-clone-race-2/.hg/store/00changelog-*.nd: size=121344 (glob) (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1006 stream-clone-race-2/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1007 stream-clone-race-2/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1008 stream-clone-race-2/.hg/store/00changelog.d: size=376950 (zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1009 stream-clone-race-2/.hg/store/00changelog.d: size=368949 (no-zstd !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1010 stream-clone-race-2/.hg/store/00changelog.i: size=320448 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1011 stream-clone-race-2/.hg/store/00changelog.n: size=70 |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1012 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1013 $ hg -R stream-clone-race-2 debugnodemap --metadata | tee client-metadata-2.txt |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1014 uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1015 tip-rev: 5006 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1016 tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1017 data-length: 121344 (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1018 data-unused: 192 (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1019 data-unused: 0.158% (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1020 data-length: 121152 (no-rust no-pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1021 data-unused: 0 (no-rust no-pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1022 data-unused: 0.000% (no-rust no-pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1023 data-length: 121344 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1024 data-unused: 192 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1025 data-unused: 0.158% (pure !) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1026 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1027 We get a usable nodemap, so no rewrite would be needed and the metadata should be identical |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1028 (ie: the following diff should be empty) |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1029 |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1030 This isn't the case for the `no-rust` `no-pure` implementation as it use a very minimal nodemap implementation that unconditionnaly rewrite the nodemap "all the time". |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1031 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1032 #if no-rust no-pure |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1033 $ diff -u server-metadata-2.txt client-metadata-2.txt |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1034 --- server-metadata-2.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1035 +++ client-metadata-2.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1036 @@ -1,4 +1,4 @@ |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1037 -uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1038 +uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1039 tip-rev: 5006 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1040 tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1041 data-length: 121152 |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1042 [1] |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1043 #else |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1044 $ diff -u server-metadata-2.txt client-metadata-2.txt |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1045 #endif |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1046 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1047 Clean up after the test |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1048 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1049 $ rm -f $HG_TEST_STREAM_WALKED_FILE_1 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1050 $ rm -f $HG_TEST_STREAM_WALKED_FILE_2 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1051 $ rm -f $HG_TEST_STREAM_WALKED_FILE_3 |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1052 |