Mercurial > public > mercurial-scm > hg-stable
annotate tests/test-persistent-nodemap.t @ 44637:dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
We don't want other client to read uncommitted data, until the transaction is
really committed.
Differential Revision: https://phab.mercurial-scm.org/D8190
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 28 Feb 2020 02:23:38 +0100 |
parents | 64e2f603de9d |
children | 01b0805534bb |
rev | line source |
---|---|
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 =================================== |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Test the persistent on-disk nodemap |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 =================================== |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 $ hg init test-repo |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 $ cd test-repo |
44351
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
7 $ cat << EOF >> .hg/hgrc |
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
8 > [experimental] |
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
9 > exp-persistent-nodemap=yes |
44356
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44355
diff
changeset
|
10 > [devel] |
6f9e8e142cea
nodemap: add a (python) index class for persistent nodemap testing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44355
diff
changeset
|
11 > persistent-nodemap=yes |
44351
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
12 > EOF |
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 $ hg debugbuilddag .+5000 |
44368
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
14 $ hg debugnodemap --metadata |
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
15 uid: ???????????????? (glob) |
44369
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44368
diff
changeset
|
16 tip-rev: 5000 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
17 tip-node: 06ddac466af534d365326c13c3879f97caca3cb1 |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
18 data-length: 122880 |
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
19 data-unused: 0 |
44354
2b72c4ff8ed1
nodemap: use an intermediate "docket" file to carry small metadata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44352
diff
changeset
|
20 $ f --size .hg/store/00changelog.n |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
21 .hg/store/00changelog.n: size=70 |
44482
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
22 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
23 Simple lookup works |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
24 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
25 $ ANYNODE=`hg log --template '{node|short}\n' --rev tip` |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
26 $ hg log -r "$ANYNODE" --template '{rev}\n' |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
27 5000 |
23df5ecfa365
nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44465
diff
changeset
|
28 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
29 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
30 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
31 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
32 $ f --sha256 .hg/store/00changelog-*.nd |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
33 .hg/store/00changelog-????????????????.nd: sha256=1e38e9ffaa45cad13f15c1a9880ad606f4241e8beea2f61b4d5365abadfb55f6 (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
34 $ hg debugnodemap --dump-new | f --sha256 --size |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
35 size=122880, sha256=1e38e9ffaa45cad13f15c1a9880ad606f4241e8beea2f61b4d5365abadfb55f6 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
36 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
37 size=122880, sha256=1e38e9ffaa45cad13f15c1a9880ad606f4241e8beea2f61b4d5365abadfb55f6 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
38 0000: 00 00 00 76 00 00 01 65 00 00 00 95 00 00 01 34 |...v...e.......4| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
39 0010: 00 00 00 19 00 00 01 69 00 00 00 ab 00 00 00 4b |.......i.......K| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
40 0020: 00 00 00 07 00 00 01 4c 00 00 00 f8 00 00 00 8f |.......L........| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
41 0030: 00 00 00 c0 00 00 00 a7 00 00 00 89 00 00 01 46 |...............F| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
42 0040: 00 00 00 92 00 00 01 bc 00 00 00 71 00 00 00 ac |...........q....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
43 0050: 00 00 00 af 00 00 00 b4 00 00 00 34 00 00 01 ca |...........4....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
44 0060: 00 00 00 23 00 00 01 45 00 00 00 2d 00 00 00 b2 |...#...E...-....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
45 0070: 00 00 00 56 00 00 01 0f 00 00 00 4e 00 00 02 4c |...V.......N...L| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
46 0080: 00 00 00 e7 00 00 00 cd 00 00 01 5b 00 00 00 78 |...........[...x| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
47 0090: 00 00 00 e3 00 00 01 8e 00 00 00 4f 00 00 00 b1 |...........O....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
48 00a0: 00 00 00 30 00 00 00 11 00 00 00 25 00 00 00 d2 |...0.......%....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
49 00b0: 00 00 00 ec 00 00 00 69 00 00 01 2b 00 00 01 2e |.......i...+....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
50 00c0: 00 00 00 aa 00 00 00 15 00 00 00 3a 00 00 01 4e |...........:...N| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
51 00d0: 00 00 00 4d 00 00 00 9d 00 00 00 8e 00 00 00 a4 |...M............| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
52 00e0: 00 00 00 c3 00 00 00 eb 00 00 00 29 00 00 00 ad |...........)....| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
53 00f0: 00 00 01 3a 00 00 01 32 00 00 00 04 00 00 00 53 |...:...2.......S| |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
54 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
55 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
56 #else |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
57 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
58 $ f --sha256 .hg/store/00changelog-*.nd |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
59 .hg/store/00changelog-????????????????.nd: sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7 (glob) |
44352
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44351
diff
changeset
|
60 $ hg debugnodemap --dump-new | f --sha256 --size |
44351
5962fd0d1045
nodemap: write nodemap data on disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44350
diff
changeset
|
61 size=122880, sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7 |
44352
6c07480d6659
nodemap: add a function to read the data from disk
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44351
diff
changeset
|
62 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size |
44350
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 size=122880, sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7 |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 0010: ff ff ff ff ff ff ff ff ff ff fa c2 ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 0030: ff ff ff ff ff ff ed b3 ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 0040: ff ff ff ff ff ff ee 34 00 00 00 00 ff ff ff ff |.......4........| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 0050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 0060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 0080: ff ff ff ff ff ff f8 50 ff ff ff ff ff ff ff ff |.......P........| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 0090: ff ff ff ff ff ff ff ff ff ff ec c7 ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 00b0: ff ff ff ff ff ff fa be ff ff f2 fc ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 00c0: ff ff ff ff ff ff ef ea ff ff ff ff ff ff f9 17 |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
c577bb4a04d4
nodemap: have some python code writing a nodemap in persistent binary form
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
80 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
81 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
82 |
44361
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
83 $ hg debugnodemap --check |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
84 revision in index: 5001 |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
85 revision in nodemap: 5001 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
86 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
87 add a new commit |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
88 |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
89 $ hg up |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
90 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
91 $ echo foo > foo |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
92 $ hg add foo |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
93 $ hg ci -m 'foo' |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
94 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
95 #if no-pure no-rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
96 $ hg debugnodemap --metadata |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
97 uid: ???????????????? (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
98 tip-rev: 5001 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
99 tip-node: 2dd9b5258caa46469ff07d4a3da1eb3529a51f49 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
100 data-length: 122880 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
101 data-unused: 0 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
102 #else |
44368
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
103 $ hg debugnodemap --metadata |
6614b301ea58
nodemap: add a flag to dump the details of the docket
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44367
diff
changeset
|
104 uid: ???????????????? (glob) |
44369
e41a164db7a9
nodemap: track the maximum revision tracked in the nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44368
diff
changeset
|
105 tip-rev: 5001 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
106 tip-node: 2dd9b5258caa46469ff07d4a3da1eb3529a51f49 |
44370
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
107 data-length: 123072 |
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
108 data-unused: 192 |
8374b69aef75
nodemap: track the total and unused amount of data in the rawdata file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44369
diff
changeset
|
109 #endif |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
110 |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
111 $ f --size .hg/store/00changelog.n |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
112 .hg/store/00changelog.n: size=70 |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
113 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
114 (The pure code use the debug code that perform incremental update, the C code reencode from scratch) |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
115 |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
116 #if pure |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
117 $ f --sha256 .hg/store/00changelog-*.nd --size |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
118 .hg/store/00changelog-????????????????.nd: size=123072, sha256=136472751566c8198ff09e306a7d2f9bd18bd32298d614752b73da4d6df23340 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
119 #endif |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
120 |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
121 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
122 $ f --sha256 .hg/store/00changelog-*.nd --size |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
123 .hg/store/00changelog-????????????????.nd: size=123072, sha256=ccc8a43310ace13812fcc648683e259346754ef934c12dd238cf9b7fadfe9a4b (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
124 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
125 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
126 #if no-pure no-rust |
44355
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
127 $ f --sha256 .hg/store/00changelog-*.nd --size |
563dfdfd01a4
nodemap: delete older raw data file when creating a new ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44354
diff
changeset
|
128 .hg/store/00changelog-????????????????.nd: size=122880, sha256=bfafebd751c4f6d116a76a37a1dee2a251747affe7efbcc4f4842ccc746d4db9 (glob) |
44367
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
129 #endif |
50ad851efd9b
nodemap: introduce append-only incremental update of the persistent data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44361
diff
changeset
|
130 |
44361
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
131 $ hg debugnodemap --check |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
132 revision in index: 5002 |
20e125cdd719
nodemap: add basic checking of the on disk nodemap content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44356
diff
changeset
|
133 revision in nodemap: 5002 |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
134 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
135 Test code path without mmap |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
136 --------------------------- |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
137 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
138 $ echo bar > bar |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
139 $ hg add bar |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
140 $ hg ci -m 'bar' --config experimental.exp-persistent-nodemap.mmap=no |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
141 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
142 $ hg debugnodemap --check --config experimental.exp-persistent-nodemap.mmap=yes |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
143 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:
44370
diff
changeset
|
144 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:
44370
diff
changeset
|
145 $ hg debugnodemap --check --config experimental.exp-persistent-nodemap.mmap=no |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
146 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:
44370
diff
changeset
|
147 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:
44370
diff
changeset
|
148 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
149 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
150 #if pure |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
151 $ hg debugnodemap --metadata |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
152 uid: ???????????????? (glob) |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
153 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
154 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
155 data-length: 123328 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
156 data-unused: 384 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
157 $ f --sha256 .hg/store/00changelog-*.nd --size |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
158 .hg/store/00changelog-????????????????.nd: size=123328, sha256=10d26e9776b6596af0f89143a54eba8cc581e929c38242a02a7b0760698c6c70 (glob) |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
159 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
160 #if rust |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
161 $ hg debugnodemap --metadata |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
162 uid: ???????????????? (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
163 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
164 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44523
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
165 data-length: 123328 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
166 data-unused: 384 |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
167 $ f --sha256 .hg/store/00changelog-*.nd --size |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
168 .hg/store/00changelog-????????????????.nd: size=123328, sha256=081eec9eb6708f2bf085d939b4c97bc0b6762bc8336bc4b93838f7fffa1516bf (glob) |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
169 #endif |
e7fff9c3cdac
rust-nodemap: automatically use the rust index for persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44507
diff
changeset
|
170 #if no-pure no-rust |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
171 $ hg debugnodemap --metadata |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
172 uid: ???????????????? (glob) |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
173 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
174 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44397
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
175 data-length: 122944 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
176 data-unused: 0 |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
177 $ f --sha256 .hg/store/00changelog-*.nd --size |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
178 .hg/store/00changelog-????????????????.nd: size=122944, sha256=755976b22b64ab680401b45395953504e64e7fa8c31ac570f58dee21e15f9bc0 (glob) |
f7459da77f23
nodemap: introduce an option to use mmap to read the nodemap mapping
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44370
diff
changeset
|
179 #endif |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
180 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
181 Test force warming the cache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
182 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
183 $ rm .hg/store/00changelog.n |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
184 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
185 $ hg debugupdatecache |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
186 #if pure |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
187 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
188 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
189 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
190 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
191 data-length: 122944 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
192 data-unused: 0 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
193 #else |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
194 $ hg debugnodemap --metadata |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
195 uid: ???????????????? (glob) |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
196 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
197 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44465
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
198 data-length: 122944 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
199 data-unused: 0 |
336ec75ed1ac
nodemap: warm the persistent nodemap on disk with debugupdatecache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44397
diff
changeset
|
200 #endif |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
201 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
202 Check out of sync nodemap |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
203 ========================= |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
204 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
205 First copy old data on the side. |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
206 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
207 $ mkdir ../tmp-copies |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
208 $ cp .hg/store/00changelog-????????????????.nd .hg/store/00changelog.n ../tmp-copies |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
209 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
210 Nodemap lagging behind |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
211 ---------------------- |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
212 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
213 make a new commit |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
214 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
215 $ echo bar2 > bar |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
216 $ hg ci -m 'bar2' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
217 $ NODE=`hg log -r tip -T '{node}\n'` |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
218 $ hg log -r "$NODE" -T '{rev}\n' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
219 5003 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
220 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
221 If the nodemap is lagging behind, it can catch up fine |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
222 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
223 $ hg debugnodemap --metadata |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
224 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
225 tip-rev: 5003 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
226 tip-node: 5c049e9c4a4af159bdcd65dce1b6bf303a0da6cf |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
227 data-length: 123200 (pure !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
228 data-length: 123200 (rust !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
229 data-length: 122944 (no-rust no-pure !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
230 data-unused: 256 (pure !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
231 data-unused: 256 (rust !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
232 data-unused: 0 (no-rust no-pure !) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
233 $ cp -f ../tmp-copies/* .hg/store/ |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
234 $ hg debugnodemap --metadata |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
235 uid: ???????????????? (glob) |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
236 tip-rev: 5002 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
237 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
44507
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
238 data-length: 122944 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
239 data-unused: 0 |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
240 $ hg log -r "$NODE" -T '{rev}\n' |
1376cb1c8e34
nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44482
diff
changeset
|
241 5003 |
44525
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
242 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
243 changelog altered |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
244 ----------------- |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
245 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
246 If the nodemap is not gated behind a requirements, an unaware client can alter |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
247 the repository so the revlog used to generate the nodemap is not longer |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
248 compatible with the persistent nodemap. We need to detect that. |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
249 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
250 $ hg up "$NODE~5" |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
251 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
252 $ echo bar > babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
253 $ hg add babar |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
254 $ hg ci -m 'babar' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
255 created new head |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
256 $ OTHERNODE=`hg log -r tip -T '{node}\n'` |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
257 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
258 5004 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
259 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
260 $ hg --config extensions.strip= strip --rev "$NODE~1" --no-backup |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
261 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
262 the nodemap should detect the changelog have been tampered with and recover. |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
263 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
264 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
265 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
266 tip-rev: 5002 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
267 tip-node: 42bf3068c7ddfdfded53c4eb11d02266faeebfee |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
268 data-length: 123456 (pure !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
269 data-length: 246464 (rust !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
270 data-length: 123008 (no-pure no-rust !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
271 data-unused: 448 (pure !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
272 data-unused: 123904 (rust !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
273 data-unused: 0 (no-pure no-rust !) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
274 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
275 $ cp -f ../tmp-copies/* .hg/store/ |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
276 $ hg debugnodemap --metadata |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
277 uid: ???????????????? (glob) |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
278 tip-rev: 5002 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
279 tip-node: 6ce944fafcee85af91f29ea5b51654cc6101ad7e |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
280 data-length: 122944 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
281 data-unused: 0 |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
282 $ hg log -r "$OTHERNODE" -T '{rev}\n' |
6c906eaedd0d
nodemap: track the tip_node for validation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44523
diff
changeset
|
283 5002 |
44526
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
284 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
285 Check transaction related property |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
286 ================================== |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
287 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
288 An up to date nodemap should be available to shell hooks, |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
289 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
290 $ echo dsljfl > a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
291 $ hg add a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
292 $ hg ci -m a |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
293 $ hg debugnodemap --metadata |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
294 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
295 tip-rev: 5003 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
296 tip-node: c91af76d172f1053cca41b83f7c2e4e514fe2bcf |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
297 data-length: 123008 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
298 data-unused: 0 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
299 $ echo babar2 > babar |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
300 $ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata" |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
301 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
302 tip-rev: 5004 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
303 tip-node: ba87cd9559559e4b91b28cb140d003985315e031 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
304 data-length: 123328 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
305 data-length: 123328 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
306 data-length: 123136 (no-pure no-rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
307 data-unused: 192 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
308 data-unused: 192 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
309 data-unused: 0 (no-pure no-rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
310 $ hg debugnodemap --metadata |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
311 uid: ???????????????? (glob) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
312 tip-rev: 5004 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
313 tip-node: ba87cd9559559e4b91b28cb140d003985315e031 |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
314 data-length: 123328 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
315 data-length: 123328 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
316 data-length: 123136 (no-pure no-rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
317 data-unused: 192 (pure !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
318 data-unused: 192 (rust !) |
64e2f603de9d
nodemap: make sure hooks have access to an up-to-date version
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44525
diff
changeset
|
319 data-unused: 0 (no-pure no-rust !) |
44637
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
320 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
321 Another process does not see the pending nodemap content during run. |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
322 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
323 $ PATH=$RUNTESTDIR/testlib/:$PATH |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
324 $ echo qpoasp > a |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
325 $ hg ci -m a2 \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
326 > --config "hooks.pretxnclose=wait-on-file 20 sync-repo-read sync-txn-pending" \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
327 > --config "hooks.txnclose=touch sync-txn-close" > output.txt 2>&1 & |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
328 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
329 (read the repository while the commit transaction is pending) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
330 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
331 $ wait-on-file 20 sync-txn-pending && \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
332 > hg debugnodemap --metadata && \ |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
333 > wait-on-file 20 sync-txn-close sync-repo-read |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
334 uid: ???????????????? (glob) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
335 tip-rev: 5004 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
336 tip-node: ba87cd9559559e4b91b28cb140d003985315e031 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
337 data-length: 123328 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
338 data-length: 123328 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
339 data-length: 123136 (no-pure no-rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
340 data-unused: 192 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
341 data-unused: 192 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
342 data-unused: 0 (no-pure no-rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
343 $ hg debugnodemap --metadata |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
344 uid: ???????????????? (glob) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
345 tip-rev: 5005 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
346 tip-node: bae4d45c759e30f1cb1a40e1382cf0e0414154db |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
347 data-length: 123584 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
348 data-length: 123584 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
349 data-length: 123136 (no-pure no-rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
350 data-unused: 448 (pure !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
351 data-unused: 448 (rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
352 data-unused: 0 (no-pure no-rust !) |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
353 |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
354 $ cat output.txt |
dd5b47fb0860
nodemap: test that concurrent process don't see the pending transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44526
diff
changeset
|
355 |