author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Thu, 24 Nov 2022 04:04:19 +0100 | |
changeset 49670 | 2fd8750f3722 |
parent 48793 | 6e559391f96e |
child 50290 | 92734603e33e |
permissions | -rw-r--r-- |
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 |
|
48037
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
6 |
$ cat << EOF >> $HGRCPATH |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
7 |
> [format] |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
8 |
> use-share-safe=yes |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
9 |
> [extensions] |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
10 |
> share= |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
11 |
> EOF |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
12 |
|
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
13 |
#if no-rust |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
14 |
|
44791
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44789
diff
changeset
|
15 |
$ 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
|
16 |
> [format] |
d688a8d537b9
nodemap: move the main switch to the `format` section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44791
diff
changeset
|
17 |
> 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
|
18 |
> [devel] |
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44312
diff
changeset
|
19 |
> persistent-nodemap=yes |
44308
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44307
diff
changeset
|
20 |
> EOF |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
21 |
|
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
22 |
#endif |
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
23 |
|
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
24 |
$ hg init test-repo --config storage.revlog.persistent-nodemap.slow-path=allow |
44791
b81486b609a3
nodemap: gate the feature behind a new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44789
diff
changeset
|
25 |
$ cd test-repo |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
26 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
27 |
Check handling of the default slow-path value |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
28 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
29 |
#if no-pure no-rust |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
30 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
31 |
$ hg id |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
32 |
abort: accessing `persistent-nodemap` repository without associated fast implementation. |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
33 |
(check `hg help config.format.use-persistent-nodemap` for details) |
46311
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
34 |
[255] |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
35 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
36 |
Unlock further check (we are here to test the feature) |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
37 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
38 |
$ cat << EOF >> $HGRCPATH |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
39 |
> [storage] |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
40 |
> # to avoid spamming the test |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
41 |
> revlog.persistent-nodemap.slow-path=allow |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
42 |
> EOF |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
43 |
|
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
44 |
#endif |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
45 |
|
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
46 |
#if rust |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
47 |
|
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
48 |
Regression test for a previous bug in Rust/C FFI for the `Revlog_CAPI` capsule: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
49 |
in places where `mercurial/cext/revlog.c` function signatures use `Py_ssize_t` |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
50 |
(64 bits on Linux x86_64), corresponding declarations in `rust/hg-cpython/src/cindex.rs` |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
51 |
incorrectly used `libc::c_int` (32 bits). |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
52 |
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
|
53 |
|
46412
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
54 |
$ hg log -r 00000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
55 |
changeset: -1:000000000000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
56 |
tag: tip |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
57 |
user: |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
58 |
date: Thu Jan 01 00:00:00 1970 +0000 |
7d0405e458a0
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures
Simon Sapin <simon.sapin@octobus.net>
parents:
46411
diff
changeset
|
59 |
|
46411
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
60 |
|
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
61 |
#endif |
3df00f905458
persistent-nodemap: add test case reproducing a Rust panic
Simon Sapin <simon.sapin@octobus.net>
parents:
46334
diff
changeset
|
62 |
|
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
63 |
|
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
64 |
$ hg debugformat |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
65 |
format-variant repo |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
66 |
fncache: yes |
47320
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47311
diff
changeset
|
67 |
dirstate-v2: no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
68 |
tracked-hint: no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
69 |
dotencode: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
70 |
generaldelta: yes |
48037
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
71 |
share-safe: yes |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
72 |
sparserevlog: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
73 |
persistent-nodemap: yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44796
diff
changeset
|
74 |
copies-sdc: no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
75 |
revlog-v2: no |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47066
diff
changeset
|
76 |
changelog-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
|
77 |
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
|
78 |
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
|
79 |
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
|
80 |
compression-level: default |
46310
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
81 |
$ hg debugbuilddag .+5000 --new-file |
fc2d5c0aed7f
persistent-nodemap: add a "warn" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46309
diff
changeset
|
82 |
|
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
|
83 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
84 |
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
|
85 |
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
|
86 |
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
|
87 |
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
|
88 |
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
|
89 |
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
|
90 |
$ f --size .hg/store/00changelog.n |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
91 |
.hg/store/00changelog.n: size=62 |
44464
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
92 |
|
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
93 |
Simple lookup works |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
94 |
|
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
95 |
$ 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
|
96 |
$ 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
|
97 |
5000 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44445
diff
changeset
|
98 |
|
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 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
100 |
#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
|
101 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
102 |
$ f --sha256 .hg/store/00changelog-*.nd |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
103 |
.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
|
104 |
|
640d5b3bd060
nodemap: also use persistent nodemap for manifest
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44785
diff
changeset
|
105 |
$ f --sha256 .hg/store/00manifest-*.nd |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
106 |
.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
|
107 |
$ 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
|
108 |
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
|
109 |
$ 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
|
110 |
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
|
111 |
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
|
112 |
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
|
113 |
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
|
114 |
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
|
115 |
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
|
116 |
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
|
117 |
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
|
118 |
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
|
119 |
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
|
120 |
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
|
121 |
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
|
122 |
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
|
123 |
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
|
124 |
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
|
125 |
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
|
126 |
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
|
127 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
128 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
129 |
#else |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
130 |
|
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
|
131 |
$ f --sha256 .hg/store/00changelog-*.nd |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
132 |
.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
|
133 |
$ 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
|
134 |
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
|
135 |
$ 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
|
136 |
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
|
137 |
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
|
138 |
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
|
139 |
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
|
140 |
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
|
141 |
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
|
142 |
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
|
143 |
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
|
144 |
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
|
145 |
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
|
146 |
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
|
147 |
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
|
148 |
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
|
149 |
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
|
150 |
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
|
151 |
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
|
152 |
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
|
153 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
154 |
#endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
155 |
|
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
156 |
$ 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
|
157 |
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
|
158 |
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
|
159 |
|
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
160 |
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
|
161 |
|
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44311
diff
changeset
|
162 |
$ 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
|
163 |
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
|
164 |
$ 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
|
165 |
$ hg add foo |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
166 |
|
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
167 |
|
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
168 |
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
|
169 |
------------------------------------- |
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
170 |
|
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
|
171 |
#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
|
172 |
|
46309
2c9c88879ab7
persistent-node: check the value of the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46306
diff
changeset
|
173 |
$ 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
|
174 |
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
|
175 |
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
|
176 |
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
|
177 |
(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
|
178 |
[255] |
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
179 |
|
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
|
180 |
$ 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
|
181 |
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
|
182 |
(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
|
183 |
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
|
184 |
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
|
185 |
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
|
186 |
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
|
187 |
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
|
188 |
|
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
|
189 |
$ 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
|
190 |
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
|
191 |
(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
|
192 |
[255] |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
193 |
|
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
|
194 |
#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
|
195 |
|
014ac7a32048
persistent-nodemap: add a "abort" option to the slow-path config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46310
diff
changeset
|
196 |
$ 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
|
197 |
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
|
198 |
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
|
199 |
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
|
200 |
|
44789
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
201 |
#endif |
6b01799e9db0
nodemap: add a new mode value, "strict"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44788
diff
changeset
|
202 |
|
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
|
203 |
$ 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
|
204 |
|
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
205 |
#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
|
206 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
207 |
uid: ???????? (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
|
208 |
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
|
209 |
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
|
210 |
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
|
211 |
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
|
212 |
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
|
213 |
#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
|
214 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
215 |
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
|
216 |
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
|
217 |
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
|
218 |
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
|
219 |
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
|
220 |
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
|
221 |
#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
|
222 |
|
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
|
223 |
$ f --size .hg/store/00changelog.n |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
224 |
.hg/store/00changelog.n: size=62 |
44333
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
225 |
|
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
226 |
(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
|
227 |
|
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
228 |
#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
|
229 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
230 |
.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
|
231 |
#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
|
232 |
|
44513
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
233 |
#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
|
234 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
235 |
.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
|
236 |
#endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
237 |
|
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
238 |
#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
|
239 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
240 |
.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
|
241 |
#endif |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44318
diff
changeset
|
242 |
|
44318
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44313
diff
changeset
|
243 |
$ 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
|
244 |
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
|
245 |
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
|
246 |
|
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44336
diff
changeset
|
247 |
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
|
248 |
--------------------------- |
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 |
|
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 |
$ 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
|
251 |
$ 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
|
252 |
$ 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
|
253 |
|
46306
7d096e5a5b90
persistent-nodemap: rename the storage.revlog.nodemap.mmap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46253
diff
changeset
|
254 |
$ 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
|
255 |
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
|
256 |
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
|
257 |
$ 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
|
258 |
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
|
259 |
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
|
260 |
|
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
|
261 |
|
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
|
262 |
#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
|
263 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
264 |
uid: ???????? (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
|
265 |
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
|
266 |
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
|
267 |
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
|
268 |
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
|
269 |
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
|
270 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
271 |
.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
|
272 |
#endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
273 |
#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
|
274 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
275 |
uid: ???????? (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
|
276 |
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
|
277 |
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
|
278 |
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
|
279 |
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
|
280 |
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
|
281 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
282 |
.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
|
283 |
#endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44495
diff
changeset
|
284 |
#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
|
285 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
286 |
uid: ???????? (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
|
287 |
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
|
288 |
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
|
289 |
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
|
290 |
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
|
291 |
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
|
292 |
$ f --sha256 .hg/store/00changelog-*.nd --size |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
293 |
.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
|
294 |
#endif |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
295 |
|
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
296 |
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
|
297 |
|
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
298 |
$ 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
|
299 |
$ 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
|
300 |
$ hg debugupdatecache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
301 |
#if pure |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
302 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
303 |
uid: ???????? (glob) |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
304 |
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
|
305 |
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
|
306 |
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
|
307 |
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
|
308 |
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
|
309 |
#else |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
310 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
311 |
uid: ???????? (glob) |
44445
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44363
diff
changeset
|
312 |
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
|
313 |
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
|
314 |
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
|
315 |
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
|
316 |
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
|
317 |
#endif |
44495
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 |
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
|
320 |
========================= |
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 |
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
|
323 |
|
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
324 |
$ mkdir ../tmp-copies |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
325 |
$ cp .hg/store/00changelog-????????.nd .hg/store/00changelog.n ../tmp-copies |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
326 |
|
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
327 |
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
|
328 |
---------------------- |
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 |
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
|
331 |
|
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
332 |
$ 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
|
333 |
$ 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
|
334 |
$ 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
|
335 |
$ 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
|
336 |
5003 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
337 |
|
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
338 |
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
|
339 |
|
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
340 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
341 |
uid: ???????? (glob) |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
342 |
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
|
343 |
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
|
344 |
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
|
345 |
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
|
346 |
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
|
347 |
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
|
348 |
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
|
349 |
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
|
350 |
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
|
351 |
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
|
352 |
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
|
353 |
$ 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
|
354 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
355 |
uid: ???????? (glob) |
44495
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44464
diff
changeset
|
356 |
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
|
357 |
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
|
358 |
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
|
359 |
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
|
360 |
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
|
361 |
$ 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
|
362 |
5003 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
363 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
364 |
changelog altered |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
365 |
----------------- |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
366 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
367 |
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
|
368 |
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
|
369 |
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
|
370 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
371 |
$ 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
|
372 |
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
|
373 |
$ echo bar > babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
374 |
$ hg add babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
375 |
$ hg ci -m 'babar' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
376 |
created new head |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
377 |
$ 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
|
378 |
$ 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
|
379 |
5004 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
380 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
381 |
$ 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
|
382 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
383 |
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
|
384 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
385 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
386 |
uid: ???????? (glob) |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
387 |
tip-rev: 5002 |
44785
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
388 |
tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
2c073d82fbfa
nodemap: create files in the repository used in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
389 |
data-length: 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
|
390 |
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
|
391 |
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
|
392 |
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
|
393 |
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
|
394 |
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
|
395 |
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
|
396 |
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
|
397 |
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
|
398 |
|
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
399 |
$ 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
|
400 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
401 |
uid: ???????? (glob) |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
402 |
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
|
403 |
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
|
404 |
data-length: 121088 |
44515
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44513
diff
changeset
|
405 |
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
|
406 |
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
|
407 |
$ 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
|
408 |
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
|
409 |
|
46321
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
410 |
missing data file |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
411 |
----------------- |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
412 |
|
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
413 |
$ 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
|
414 |
> sed 's/uid: //'` |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
415 |
$ 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
|
416 |
$ 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
|
417 |
$ 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
|
418 |
|
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
419 |
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
|
420 |
|
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
421 |
$ hg log -r . |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
422 |
changeset: 5002:b355ef8adce0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
423 |
tag: tip |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
424 |
parent: 4998:d918ad6d18d3 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
425 |
user: test |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
426 |
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
|
427 |
summary: babar |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
428 |
|
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
429 |
$ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
430 |
|
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
431 |
$ hg debugupdatecache |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
432 |
$ hg debugnodemap --metadata |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
433 |
uid: * (glob) |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
434 |
tip-rev: 5002 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
435 |
tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
436 |
data-length: 121088 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
437 |
data-unused: 0 |
d32e7ed81f4f
persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46314
diff
changeset
|
438 |
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
|
439 |
$ 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
|
440 |
$ 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
|
441 |
|
44516
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
442 |
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
|
443 |
================================== |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44515
diff
changeset
|
444 |
|
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 |
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
|
446 |
|
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 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
|
448 |
$ 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
|
449 |
$ 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
|
450 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
451 |
uid: ???????? (glob) |
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
|
452 |
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
|
453 |
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
|
454 |
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
|
455 |
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
|
456 |
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
|
457 |
$ 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
|
458 |
$ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata" |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
459 |
uid: ???????? (glob) |
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
|
460 |
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
|
461 |
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
|
462 |
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
|
463 |
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
|
464 |
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
|
465 |
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
|
466 |
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
|
467 |
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
|
468 |
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
|
469 |
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
|
470 |
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
|
471 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
472 |
uid: ???????? (glob) |
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
|
473 |
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
|
474 |
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
|
475 |
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
|
476 |
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
|
477 |
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
|
478 |
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
|
479 |
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
|
480 |
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
|
481 |
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
|
482 |
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
|
483 |
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
|
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 |
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
|
486 |
|
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 |
$ 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
|
488 |
$ hg ci -m a2 \ |
47066
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
489 |
> --config "hooks.pretxnclose=sh \"$RUNTESTDIR/testlib/wait-on-file\" 20 sync-repo-read sync-txn-pending" \ |
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
|
490 |
> --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
|
491 |
|
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
492 |
(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
|
493 |
|
47066
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
494 |
$ sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-pending && \ |
44633
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
495 |
> hg debugnodemap --metadata && \ |
47066
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
496 |
> sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-close sync-repo-read |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
497 |
uid: ???????? (glob) |
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
|
498 |
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
|
499 |
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
|
500 |
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
|
501 |
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
|
502 |
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
|
503 |
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
|
504 |
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
|
505 |
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
|
506 |
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
|
507 |
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
|
508 |
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
|
509 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
510 |
uid: ???????? (glob) |
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
|
511 |
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
|
512 |
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
|
513 |
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
|
514 |
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
|
515 |
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
|
516 |
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
|
517 |
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
|
518 |
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
|
519 |
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
|
520 |
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
|
521 |
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
|
522 |
|
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44516
diff
changeset
|
523 |
$ 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
|
524 |
|
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
|
525 |
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
|
526 |
|
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 |
$ 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
|
528 |
$ f --size --sha256 .hg/store/00changelog-*.nd |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
529 |
.hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
530 |
.hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
531 |
.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
|
532 |
$ 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
|
533 |
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
|
534 |
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
|
535 |
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
|
536 |
[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
|
537 |
$ hg debugnodemap --metadata |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
538 |
uid: ???????? (glob) |
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
|
539 |
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
|
540 |
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
|
541 |
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
|
542 |
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
|
543 |
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
|
544 |
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
|
545 |
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
|
546 |
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
|
547 |
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
|
548 |
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
|
549 |
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
|
550 |
$ f --size --sha256 .hg/store/00changelog-*.nd |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
551 |
.hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
552 |
.hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !) |
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
553 |
.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
|
554 |
|
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
555 |
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
|
556 |
-------------------------------------------------------- |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
557 |
|
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
558 |
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
|
559 |
|
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
560 |
$ 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
|
561 |
$ 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
|
562 |
$ hg rollback |
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
563 |
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
|
564 |
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
|
565 |
$ hg id -r . |
44960 | 566 |
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
|
567 |
|
48034
b833f8cbe199
persistent-nodemap: fix a typo in a test comment
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47799
diff
changeset
|
568 |
removing data with strip |
44954
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
569 |
|
affe0fb42250
nodemap: fix validity checking when revlog is too short
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44636
diff
changeset
|
570 |
$ 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
|
571 |
$ 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
|
572 |
$ 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
|
573 |
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
|
574 |
$ hg id -r . --traceback |
44960 | 575 |
90d5d3ba2fc4 tip |
576 |
||
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
577 |
(be a good citizen and regenerate the nodemap) |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
578 |
$ hg debugupdatecaches |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
579 |
$ hg debugnodemap --metadata |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
580 |
uid: * (glob) |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
581 |
tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
582 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
583 |
data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
584 |
data-unused: 0 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
585 |
data-unused: 0.000% |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
586 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
587 |
Check race condition when multiple process write new data to the repository |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
588 |
--------------------------------------------------------------------------- |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
589 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
590 |
In this test, we check that two writers touching the repositories will not |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
591 |
overwrite each other data. This test is prompted by the existent of issue6554. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
592 |
Where a writer ended up using and outdated docket to update the repository. See |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
593 |
the dedicated extension for details on the race windows and read/write schedule |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
594 |
necessary to end up in this situation: testlib/persistent-nodemap-race-ext.py |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
595 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
596 |
The issue was initially observed on a server with a high push trafic, but it |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
597 |
can be reproduced using a share and two commiting process which seems simpler. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
598 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
599 |
The test is Rust only as the other implementation does not use the same |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
600 |
read/write patterns. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
601 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
602 |
$ cd .. |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
603 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
604 |
#if rust |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
605 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
606 |
$ cp -R test-repo race-repo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
607 |
$ hg share race-repo ./other-wc --config format.use-share-safe=yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
608 |
updating working directory |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
609 |
5001 files updated, 0 files merged, 0 files removed, 0 files unresolved |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
610 |
$ hg debugformat -R ./race-repo | egrep 'share-safe|persistent-nodemap' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
611 |
share-safe: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
612 |
persistent-nodemap: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
613 |
$ hg debugformat -R ./other-wc/ | egrep 'share-safe|persistent-nodemap' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
614 |
share-safe: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
615 |
persistent-nodemap: yes |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
616 |
$ hg -R ./other-wc update 'min(head())' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
617 |
3 files updated, 0 files merged, 2 files removed, 0 files unresolved |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
618 |
$ hg -R ./race-repo debugnodemap --metadata |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
619 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
620 |
tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
621 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
622 |
data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
623 |
data-unused: 0 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
624 |
data-unused: 0.000% |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
625 |
$ hg -R ./race-repo log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
626 |
@ changeset: 5005:90d5d3ba2fc4 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
627 |
| tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
628 |
~ user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
629 |
date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
630 |
summary: a2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
631 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
632 |
o changeset: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
633 |
| user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
634 |
~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
635 |
summary: foo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
636 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
637 |
$ hg -R ./other-wc log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
638 |
o changeset: 5005:90d5d3ba2fc4 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
639 |
| tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
640 |
~ user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
641 |
date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
642 |
summary: a2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
643 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
644 |
@ changeset: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
645 |
| user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
646 |
~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
647 |
summary: foo |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
648 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
649 |
$ echo left-side-race > race-repo/left-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
650 |
$ hg -R ./race-repo/ add race-repo/left-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
651 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
652 |
$ echo right-side-race > ./other-wc/right-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
653 |
$ hg -R ./other-wc/ add ./other-wc/right-side-race |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
654 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
655 |
$ mkdir sync-files |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
656 |
$ mkdir outputs |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
657 |
$ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
658 |
> hg -R ./race-repo/ commit -m left-side-commit \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
659 |
> --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
660 |
> --config 'devel.nodemap-race.role=left'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
661 |
> touch sync-files/left-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
662 |
> ) > outputs/left.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
663 |
$ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
664 |
> hg -R ./other-wc/ commit -m right-side-commit \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
665 |
> --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
666 |
> --config 'devel.nodemap-race.role=right'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
667 |
> touch sync-files/right-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
668 |
> ) > outputs/right.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
669 |
$ ( |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
670 |
> hg -R ./race-repo/ check-nodemap-race \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
671 |
> --config "extensions.race=${RUNTESTDIR}/testlib/persistent-nodemap-race-ext.py" \ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
672 |
> --config 'devel.nodemap-race.role=reader'; |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
673 |
> touch sync-files/reader-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
674 |
> ) > outputs/reader.txt 2>&1 & |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
675 |
$ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/left-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
676 |
$ cat outputs/left.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
677 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
678 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
679 |
actual-tip: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
680 |
tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
681 |
data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
682 |
nodemap-race: left side locked and ready to commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
683 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
684 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
685 |
actual-tip: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
686 |
tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
687 |
data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
688 |
finalized changelog write |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
689 |
persisting changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
690 |
new data start at 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
691 |
persisted changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
692 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
693 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
694 |
actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
695 |
tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
696 |
data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
697 |
$ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/right-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
698 |
$ cat outputs/right.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
699 |
nodemap-race: right side start of the locking sequence |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
700 |
nodemap-race: right side reading changelog |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
701 |
nodemap-race: right side reading of changelog is done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
702 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
703 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
704 |
actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
705 |
tip-rev: 5005 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
706 |
data-length: 121088 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
707 |
nodemap-race: right side ready to wait for the lock |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
708 |
nodemap-race: right side locked and ready to commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
709 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
710 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
711 |
actual-tip: 5006 |
48039
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48038
diff
changeset
|
712 |
tip-rev: 5006 |
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48038
diff
changeset
|
713 |
data-length: 121280 |
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
714 |
right ready to write, waiting for reader |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
715 |
right proceeding with writing its changelog index and nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
716 |
finalized changelog write |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
717 |
persisting changelog nodemap |
48039
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48038
diff
changeset
|
718 |
new data start at 121280 |
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
719 |
persisted changelog nodemap |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
720 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
721 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
722 |
actual-tip: 5007 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
723 |
tip-rev: 5007 |
48039
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48038
diff
changeset
|
724 |
data-length: 121536 |
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
725 |
$ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/reader-done |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
726 |
$ cat outputs/reader.txt |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
727 |
reader: reading changelog |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
728 |
reader ready to read the changelog, waiting for right |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
729 |
reader: nodemap docket read |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
730 |
record-data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
731 |
actual-data-length: 121280 |
48039
c094e829e848
changelog: also monitor `00changelog.n` when applicable (issue6554)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48038
diff
changeset
|
732 |
file-actual-length: 121536 |
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
733 |
reader: changelog read |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
734 |
docket-details: |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
735 |
uid: 43c37dde |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
736 |
actual-tip: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
737 |
tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
738 |
data-length: 121280 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
739 |
tip-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
740 |
tip-node: 492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
741 |
node-rev: 5006 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
742 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
743 |
$ hg -R ./race-repo log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
744 |
o changeset: 5007:ac4a2abde241 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
745 |
| tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
746 |
~ parent: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
747 |
user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
748 |
date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
749 |
summary: right-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
750 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
751 |
@ changeset: 5006:492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
752 |
| user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
753 |
~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
754 |
summary: left-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
755 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
756 |
$ hg -R ./other-wc log -G -r 'head()' |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
757 |
@ changeset: 5007:ac4a2abde241 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
758 |
| tag: tip |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
759 |
~ parent: 5001:16395c3cf7e2 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
760 |
user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
761 |
date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
762 |
summary: right-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
763 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
764 |
o changeset: 5006:492901161367 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
765 |
| user: test |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
766 |
~ date: Thu Jan 01 00:00:00 1970 +0000 |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
767 |
summary: left-side-commit |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
768 |
|
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
769 |
#endif |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
770 |
|
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
771 |
Test upgrade / downgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
772 |
======================== |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
773 |
|
48038
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
774 |
$ cd ./test-repo/ |
52018f8ef020
persistent-nodemap: introduce a test to highlight possible race
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48037
diff
changeset
|
775 |
|
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
776 |
downgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
777 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
778 |
$ 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
|
779 |
> [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
780 |
> 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
|
781 |
> EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
782 |
$ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
783 |
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
|
784 |
fncache: yes yes yes |
47320
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47311
diff
changeset
|
785 |
dirstate-v2: no no no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
786 |
tracked-hint: 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
|
787 |
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
|
788 |
generaldelta: yes yes yes |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48521
diff
changeset
|
789 |
share-safe: yes yes yes |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
790 |
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
|
791 |
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
|
792 |
copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
793 |
revlog-v2: no no no |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47066
diff
changeset
|
794 |
changelog-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
|
795 |
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
|
796 |
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
|
797 |
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
|
798 |
compression-level: default default default |
48035
ce01b97a93da
persistent-nodemap: use quiet upgrade in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48034
diff
changeset
|
799 |
$ hg debugupgraderepo --run --no-backup --quiet |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
800 |
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
|
801 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
802 |
requirements |
48037
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
803 |
preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
804 |
preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48674
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48521
diff
changeset
|
805 |
preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
806 |
removed: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
807 |
|
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
808 |
processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
809 |
- all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
810 |
- changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
811 |
- manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
812 |
|
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
813 |
$ 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
|
814 |
undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
815 |
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
|
816 |
$ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
817 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
818 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
819 |
upgrading |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
820 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
821 |
$ 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
|
822 |
> [format] |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
823 |
> 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
|
824 |
> EOF |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
825 |
$ hg debugformat -v |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
826 |
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
|
827 |
fncache: yes yes yes |
47320
a43d256c041a
dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents:
47311
diff
changeset
|
828 |
dirstate-v2: no no no |
48793
6e559391f96e
tracked-key: remove the dual write and rename to tracked-hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48790
diff
changeset
|
829 |
tracked-hint: 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
|
830 |
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
|
831 |
generaldelta: yes yes yes |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48521
diff
changeset
|
832 |
share-safe: yes yes yes |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
833 |
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
|
834 |
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
|
835 |
copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46526
diff
changeset
|
836 |
revlog-v2: no no no |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47066
diff
changeset
|
837 |
changelog-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
|
838 |
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
|
839 |
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
|
840 |
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
|
841 |
compression-level: default default default |
48035
ce01b97a93da
persistent-nodemap: use quiet upgrade in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48034
diff
changeset
|
842 |
$ hg debugupgraderepo --run --no-backup --quiet |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
843 |
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
|
844 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
845 |
requirements |
48037
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
846 |
preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
847 |
preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48674
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48521
diff
changeset
|
848 |
preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
849 |
added: persistent-nodemap |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
850 |
|
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
851 |
processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
852 |
- all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
853 |
- changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
854 |
- manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
855 |
|
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
856 |
$ 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
|
857 |
00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
858 |
00changelog.n |
46525
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
859 |
00manifest-*.nd (glob) |
636853347e14
upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46472
diff
changeset
|
860 |
00manifest.n |
46526
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
861 |
undo.backup.00changelog.n |
67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46525
diff
changeset
|
862 |
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
|
863 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
864 |
$ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
865 |
uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
866 |
tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
867 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
868 |
data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
869 |
data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
870 |
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
|
871 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
872 |
Running unrelated upgrade |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
873 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
874 |
$ 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
|
875 |
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
|
876 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
877 |
requirements |
48037
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
878 |
preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) |
016081cca1fb
test: enable share-safe in test-persistent-nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48035
diff
changeset
|
879 |
preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) |
48674
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48521
diff
changeset
|
880 |
preserved: dotencode, use-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) |
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
881 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
882 |
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
|
883 |
|
46035
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
884 |
processed revlogs: |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
885 |
- all-filelogs |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
886 |
- changelog |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
887 |
- manifest |
6c960b708ac4
upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46002
diff
changeset
|
888 |
|
44841
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
889 |
$ 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
|
890 |
00changelog-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
891 |
00changelog.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
892 |
00manifest-*.nd (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
893 |
00manifest.n |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
894 |
|
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
895 |
$ hg debugnodemap --metadata |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
896 |
uid: * (glob) |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
897 |
tip-rev: 5005 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
898 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
899 |
data-length: 121088 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
900 |
data-unused: 0 |
526d69eeea31
upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44799
diff
changeset
|
901 |
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
|
902 |
|
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
903 |
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
|
904 |
============================================ |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
905 |
|
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
906 |
$ cd .. |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
907 |
|
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
908 |
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
|
909 |
-------------- |
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
910 |
|
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
911 |
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
|
912 |
|
7488067b8c1e
persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46035
diff
changeset
|
913 |
$ 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
|
914 |
$ 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
|
915 |
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
|
916 |
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
|
917 |
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
|
918 |
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
|
919 |
$ 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
|
920 |
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
|
921 |
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
|
922 |
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
|
923 |
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
|
924 |
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
|
925 |
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
|
926 |
|
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
|
927 |
|
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
928 |
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
|
929 |
------------ |
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
930 |
|
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
931 |
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
|
932 |
|
3eb33aa237c0
persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46248
diff
changeset
|
933 |
$ 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
|
934 |
$ 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
|
935 |
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
|
936 |
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
|
937 |
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
|
938 |
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
|
939 |
$ 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
|
940 |
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
|
941 |
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
|
942 |
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
|
943 |
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
|
944 |
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
|
945 |
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
|
946 |
|
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
947 |
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
|
948 |
============================ |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
949 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
950 |
Missing datafile |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
951 |
---------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
952 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
953 |
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
|
954 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
955 |
$ 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
|
956 |
$ 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
|
957 |
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
|
958 |
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
|
959 |
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
|
960 |
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
|
961 |
$ 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
|
962 |
$ 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
|
963 |
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
|
964 |
tag: tip |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
965 |
user: test |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
966 |
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
|
967 |
summary: a2 |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
968 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
969 |
$ 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
|
970 |
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
|
971 |
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
|
972 |
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
|
973 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
974 |
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
|
975 |
------------------- |
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
976 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
977 |
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
|
978 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
979 |
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
|
980 |
$ 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
|
981 |
$ 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
|
982 |
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
|
983 |
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
|
984 |
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
|
985 |
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
|
986 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
987 |
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
|
988 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
989 |
$ 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
|
990 |
$ 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
|
991 |
corruption-test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
48326
141e38ef8d8f
tests: dd status=noxfer is not portable (issue6523)
Thomas Klausner <wiz@gatalith.at>
parents:
48295
diff
changeset
|
992 |
$ dd if=$datafilepath bs=1000 count=10 of=$datafilepath-tmp |
47066
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
993 |
10+0 records in |
9e3979a25bfe
tests: stabilize test-persistent-nodemap.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
46990
diff
changeset
|
994 |
10+0 records out |
48326
141e38ef8d8f
tests: dd status=noxfer is not portable (issue6523)
Thomas Klausner <wiz@gatalith.at>
parents:
48295
diff
changeset
|
995 |
* bytes * (glob) |
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
996 |
$ 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
|
997 |
$ 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
|
998 |
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
|
999 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1000 |
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
|
1001 |
|
46971
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1002 |
$ 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
|
1003 |
changeset: 5005:90d5d3ba2fc4 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1004 |
tag: tip |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1005 |
user: test |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1006 |
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
|
1007 |
summary: a2 |
a3720569a43f
nodemap: deal with data mmap error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46970
diff
changeset
|
1008 |
|
46970
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1009 |
|
99aed233aa8d
nodemap: test various corruption scenario for the persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46895
diff
changeset
|
1010 |
|
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
|
1011 |
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
|
1012 |
============ |
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
|
1013 |
|
de2ed219fd00
persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46249
diff
changeset
|
1014 |
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
|
1015 |
|
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1016 |
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
|
1017 |
----------- |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1018 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1019 |
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
|
1020 |
|
47920
9c4204b7f3e4
tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
47799
diff
changeset
|
1021 |
$ hg clone -U --stream ssh://user@dummy/test-repo stream-clone --debug | egrep '00(changelog|manifest)' |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1022 |
adding [s] 00manifest.n (62 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
|
1023 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1024 |
adding [s] 00changelog.n (62 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1025 |
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
|
1026 |
adding [s] 00manifest.d (452 KB) (no-zstd !) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1027 |
adding [s] 00manifest.d (491 KB) (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1028 |
adding [s] 00manifest.d (492 KB) (zstd bigendian !) |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46706
diff
changeset
|
1029 |
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
|
1030 |
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
|
1031 |
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
|
1032 |
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
|
1033 |
$ 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
|
1034 |
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
|
1035 |
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
|
1036 |
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
|
1037 |
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
|
1038 |
$ 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
|
1039 |
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
|
1040 |
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
|
1041 |
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
|
1042 |
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
|
1043 |
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
|
1044 |
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
|
1045 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1046 |
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
|
1047 |
----------------- |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1048 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1049 |
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
|
1050 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1051 |
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
|
1052 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1053 |
$ 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
|
1054 |
$ 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
|
1055 |
$ 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
|
1056 |
$ 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
|
1057 |
$ 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
|
1058 |
$ 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
|
1059 |
$ 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
|
1060 |
> [extensions] |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1061 |
> 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
|
1062 |
> EOF |
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1063 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1064 |
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
|
1065 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1066 |
$ 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
|
1067 |
test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1068 |
test-repo/.hg/store/00changelog.d: size=376891 (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1069 |
test-repo/.hg/store/00changelog.d: size=376889 (zstd bigendian !) |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1070 |
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
|
1071 |
test-repo/.hg/store/00changelog.i: size=320384 |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1072 |
test-repo/.hg/store/00changelog.n: size=62 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1073 |
$ 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
|
1074 |
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
|
1075 |
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
|
1076 |
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
|
1077 |
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
|
1078 |
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
|
1079 |
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
|
1080 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1081 |
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
|
1082 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1083 |
$ 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
|
1084 |
$ 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
|
1085 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1086 |
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
|
1087 |
|
47920
9c4204b7f3e4
tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
47799
diff
changeset
|
1088 |
$ (hg clone -U --stream 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) & |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1089 |
$ $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
|
1090 |
$ 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
|
1091 |
$ 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
|
1092 |
$ $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
|
1093 |
$ cat clone-output |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1094 |
adding [s] 00manifest.n (62 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1095 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1096 |
adding [s] 00changelog.n (62 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1097 |
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
|
1098 |
adding [s] 00manifest.d (452 KB) (no-zstd !) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1099 |
adding [s] 00manifest.d (491 KB) (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1100 |
adding [s] 00manifest.d (492 KB) (zstd bigendian !) |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1101 |
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
|
1102 |
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
|
1103 |
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
|
1104 |
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
|
1105 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1106 |
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
|
1107 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1108 |
$ 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
|
1109 |
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
|
1110 |
stream-clone-race-1/.hg/store/00changelog.d: size=368890 (no-zstd !) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1111 |
stream-clone-race-1/.hg/store/00changelog.d: size=376891 (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1112 |
stream-clone-race-1/.hg/store/00changelog.d: size=376889 (zstd bigendian !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1113 |
stream-clone-race-1/.hg/store/00changelog.i: size=320384 |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1114 |
stream-clone-race-1/.hg/store/00changelog.n: size=62 |
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1115 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1116 |
$ 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
|
1117 |
uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1118 |
tip-rev: 5005 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1119 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1120 |
data-length: 121088 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1121 |
data-unused: 0 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1122 |
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
|
1123 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1124 |
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
|
1125 |
(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
|
1126 |
|
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1127 |
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
|
1128 |
|
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1129 |
#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
|
1130 |
$ 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
|
1131 |
--- server-metadata.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1132 |
+++ client-metadata.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1133 |
@@ -1,4 +1,4 @@ |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1134 |
-uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1135 |
+uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1136 |
tip-rev: 5005 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1137 |
tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1138 |
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
|
1139 |
[1] |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1140 |
#else |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1141 |
$ 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
|
1142 |
#endif |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1143 |
|
46987
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1144 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1145 |
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
|
1146 |
|
d70319c3ca14
nodemap: add a test about racy commit during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46971
diff
changeset
|
1147 |
$ 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
|
1148 |
$ 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
|
1149 |
$ 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
|
1150 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1151 |
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
|
1152 |
----------------- |
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1153 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1154 |
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
|
1155 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1156 |
(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
|
1157 |
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
|
1158 |
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
|
1159 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1160 |
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
|
1161 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1162 |
$ 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
|
1163 |
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
|
1164 |
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
|
1165 |
test-repo/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1166 |
test-repo/.hg/store/00changelog.d: size=376950 (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1167 |
test-repo/.hg/store/00changelog.d: size=376948 (zstd bigendian !) |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1168 |
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
|
1169 |
test-repo/.hg/store/00changelog.i: size=320448 |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1170 |
test-repo/.hg/store/00changelog.n: size=62 |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1171 |
$ 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
|
1172 |
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
|
1173 |
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
|
1174 |
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
|
1175 |
data-length: 121344 (rust !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1176 |
data-length: 121344 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1177 |
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
|
1178 |
data-unused: 192 (rust !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1179 |
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
|
1180 |
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
|
1181 |
data-unused: 0.158% (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1182 |
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
|
1183 |
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
|
1184 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1185 |
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
|
1186 |
(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
|
1187 |
|
47920
9c4204b7f3e4
tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
47799
diff
changeset
|
1188 |
$ (hg clone -U --stream 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) & |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1189 |
$ $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
|
1190 |
$ 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
|
1191 |
$ 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
|
1192 |
$ 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
|
1193 |
$ 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
|
1194 |
$ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
47659
f030c7d22032
walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47320
diff
changeset
|
1195 |
|
f030c7d22032
walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47320
diff
changeset
|
1196 |
(note: the stream clone code wronly pick the `undo.` files) |
f030c7d22032
walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47320
diff
changeset
|
1197 |
|
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1198 |
$ cat clone-output-2 |
47659
f030c7d22032
walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47320
diff
changeset
|
1199 |
adding [s] undo.backup.00manifest.n (62 bytes) (known-bad-output !) |
f030c7d22032
walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47320
diff
changeset
|
1200 |
adding [s] undo.backup.00changelog.n (62 bytes) (known-bad-output !) |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1201 |
adding [s] 00manifest.n (62 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1202 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1203 |
adding [s] 00changelog.n (62 bytes) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1204 |
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
|
1205 |
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
|
1206 |
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
|
1207 |
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
|
1208 |
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
|
1209 |
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
|
1210 |
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
|
1211 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1212 |
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
|
1213 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1214 |
$ 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
|
1215 |
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
|
1216 |
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
|
1217 |
stream-clone-race-2/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !) |
48521
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1218 |
stream-clone-race-2/.hg/store/00changelog.d: size=376950 (zstd no-bigendian !) |
f447b90a4b11
tests: allow for variation in zstd output as seen on s390x and powerpc
Julien Cristau <jcristau@debian.org>
parents:
48326
diff
changeset
|
1219 |
stream-clone-race-2/.hg/store/00changelog.d: size=376948 (zstd bigendian !) |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1220 |
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
|
1221 |
stream-clone-race-2/.hg/store/00changelog.i: size=320448 |
47311
5bc6d2fc1cfc
persistent-nodemap: use the intended uuid size
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47279
diff
changeset
|
1222 |
stream-clone-race-2/.hg/store/00changelog.n: size=62 |
46988
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1223 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1224 |
$ 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
|
1225 |
uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1226 |
tip-rev: 5006 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1227 |
tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1228 |
data-length: 121344 (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1229 |
data-unused: 192 (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1230 |
data-unused: 0.158% (rust !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1231 |
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
|
1232 |
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
|
1233 |
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
|
1234 |
data-length: 121344 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1235 |
data-unused: 192 (pure !) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1236 |
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
|
1237 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1238 |
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
|
1239 |
(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
|
1240 |
|
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1241 |
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
|
1242 |
|
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1243 |
#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
|
1244 |
$ 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
|
1245 |
--- server-metadata-2.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1246 |
+++ client-metadata-2.txt * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1247 |
@@ -1,4 +1,4 @@ |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1248 |
-uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1249 |
+uid: * (glob) |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1250 |
tip-rev: 5006 |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1251 |
tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1252 |
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
|
1253 |
[1] |
46989
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1254 |
#else |
aed6ceaad6d7
streamclone: treat volatile file as "fullfile"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46988
diff
changeset
|
1255 |
$ 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
|
1256 |
#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
|
1257 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1258 |
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
|
1259 |
|
dc95c8ca171f
nodemap: add a test about nodemap "vacuum" during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46987
diff
changeset
|
1260 |
$ 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
|
1261 |
$ 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
|
1262 |
$ 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
|
1263 |