Mercurial > hg
annotate tests/test-sidedata.t @ 46858:85e3a630cad9
revlog: move the details of revlog "v2" index inside revlog.utils.constants
the revlog module is quite large and this kind of format information would handy
for other module. So let us start to gather this information about the format in
a more appropriate place.
We update various reference to this information to use the new "source of truth"
in the process.
Differential Revision: https://phab.mercurial-scm.org/D10305
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 05 Apr 2021 12:21:12 +0200 |
parents | 7d9d9265d40f |
children | 84a93fa7ecfd |
rev | line source |
---|---|
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 ========================================================== |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Test file dedicated to checking side-data related behavior |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 ========================================================== |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
43040
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
5 Check data can be written/read from sidedata |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
6 ============================================ |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
7 |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
8 $ cat << EOF >> $HGRCPATH |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
9 > [extensions] |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
10 > testsidedata=$TESTDIR/testlib/ext-sidedata.py |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
11 > EOF |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
12 |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
13 $ hg init test-sidedata --config format.exp-use-side-data=yes |
43040
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
14 $ cd test-sidedata |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
15 $ echo aaa > a |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
16 $ hg add a |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
17 $ hg commit -m a --traceback |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
18 $ echo aaa > b |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
19 $ hg add b |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
20 $ hg commit -m b |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
21 $ echo xxx >> a |
ba4072c0a911
sidedata: test we can successfully write sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43031
diff
changeset
|
22 $ hg commit -m aa |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 |
43041
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
24 $ hg debugsidedata -c 0 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
25 2 sidedata entries |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
26 entry-0001 size 4 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
27 entry-0002 size 32 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
28 $ hg debugsidedata -c 1 -v |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
29 2 sidedata entries |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
30 entry-0001 size 4 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
31 '\x00\x00\x006' |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
32 entry-0002 size 32 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
33 '\x98\t\xf9\xc4v\xf0\xc5P\x90\xf7wRf\xe8\xe27e\xfc\xc1\x93\xa4\x96\xd0\x1d\x97\xaaG\x1d\xd7t\xfa\xde' |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
34 $ hg debugsidedata -m 2 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
35 2 sidedata entries |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
36 entry-0001 size 4 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
37 entry-0002 size 32 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
38 $ hg debugsidedata a 1 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
39 2 sidedata entries |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
40 entry-0001 size 4 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
41 entry-0002 size 32 |
559ac8411f12
sidedata: add a debugsidedata command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43040
diff
changeset
|
42 |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 Check upgrade behavior |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 ====================== |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 Right now, sidedata has not upgrade support |
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 |
43134
75ad8af9c95e
upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43041
diff
changeset
|
48 Check that we can upgrade to sidedata |
75ad8af9c95e
upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43041
diff
changeset
|
49 ------------------------------------- |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
51 $ hg init up-no-side-data --config format.exp-use-side-data=no |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 $ hg debugformat -v -R up-no-side-data |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
53 format-variant repo config default |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
54 fncache: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
55 dotencode: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
56 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46002
diff
changeset
|
57 share-safe: no no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
58 sparserevlog: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
59 persistent-nodemap: no no no |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
60 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
61 revlog-v2: no no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
62 plain-cl-delta: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
63 compression: zlib zlib zlib |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
64 compression-level: default default default |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
65 $ hg debugformat -v -R up-no-side-data --config format.exp-use-side-data=yes |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
66 format-variant repo config default |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
67 fncache: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
68 dotencode: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
69 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46002
diff
changeset
|
70 share-safe: no no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
71 sparserevlog: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
72 persistent-nodemap: no no no |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
73 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
74 revlog-v2: no yes no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
75 plain-cl-delta: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
76 compression: zlib zlib zlib |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
77 compression-level: default default default |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
78 $ hg debugupgraderepo -R up-no-side-data --config format.exp-use-side-data=yes > /dev/null |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 |
43135
6e3dc1eff5c7
upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43134
diff
changeset
|
80 Check that we can downgrade from sidedata |
6e3dc1eff5c7
upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43134
diff
changeset
|
81 ----------------------------------------- |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
83 $ hg init up-side-data --config format.exp-use-side-data=yes |
43031
e16ca9fde7aa
upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 $ hg debugformat -v -R up-side-data |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
85 format-variant repo config default |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
86 fncache: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
87 dotencode: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
88 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46002
diff
changeset
|
89 share-safe: no no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
90 sparserevlog: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
91 persistent-nodemap: no no no |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
92 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
93 revlog-v2: yes no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
94 plain-cl-delta: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
95 compression: zlib zlib zlib |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
96 compression-level: default default default |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
97 $ hg debugformat -v -R up-side-data --config format.exp-use-side-data=no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
98 format-variant repo config default |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
99 fncache: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
100 dotencode: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
101 generaldelta: yes yes yes |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46002
diff
changeset
|
102 share-safe: no no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
103 sparserevlog: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
104 persistent-nodemap: no no no |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
105 copies-sdc: no no no |
46705
fd55a9eb1507
revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
106 revlog-v2: yes no no |
44799
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
107 plain-cl-delta: yes yes yes |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
108 compression: zlib zlib zlib |
ea9563e9e65a
nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43167
diff
changeset
|
109 compression-level: default default default |
43167
bca9d1a6c4c5
sidedata: rename the configuration option to `exp-use-side-data`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43138
diff
changeset
|
110 $ hg debugupgraderepo -R up-side-data --config format.exp-use-side-data=no > /dev/null |