annotate tests/test-upgrade-repo.t @ 48485:1d0978cfe968

upgrade: explicitly warn when a `--no-xxx` flag is overwritten Some format upgrade/downgrades -needs- revlog to be recomputed. So we now detect that individually and warn when it contradict explicitly passed flag. This is part of a larger series to make `debugupgraderepo` smarter about which revlog it picks by default. Differential Revision: https://phab.mercurial-scm.org/D11869
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 06 Dec 2021 17:12:21 +0100
parents 6e4999cb085e
children 8405c1bffacf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37283
diff changeset
1 #require no-reposimplestore
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37283
diff changeset
2
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
3 $ cat >> $HGRCPATH << EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
4 > [extensions]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
5 > share =
46849
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
6 > [format]
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
7 > # stabilize test accross variant
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
8 > revlog-compression=zlib
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
9 > EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
10
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
11 store and revlogv1 are required in source
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
12
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
13 $ hg --config format.usestore=false init no-store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
14 $ hg -R no-store debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
15 abort: cannot upgrade repository; requirement missing: store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
16 [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
17
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
18 $ hg init no-revlogv1
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
19 $ cat > no-revlogv1/.hg/requires << EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
20 > dotencode
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
21 > fncache
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
22 > generaldelta
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
23 > store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
24 > EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
25
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
26 $ hg -R no-revlogv1 debugupgraderepo
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
27 abort: cannot upgrade repository; missing a revlog version
30774
eaa5607132a2 debugcommands: stub for debugupgraderepo command
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
28 [255]
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
29
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
30 Cannot upgrade shared repositories
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
31
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
32 $ hg init share-parent
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
33 $ hg -q share share-parent share-child
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
34
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
35 $ hg -R share-child debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
36 abort: cannot upgrade repository; unsupported source requirement: shared
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
37 [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
38
36404
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35387
diff changeset
39 Do not yet support upgrading treemanifest repos
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
40
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
41 $ hg --config experimental.treemanifest=true init treemanifest
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
42 $ hg -R treemanifest debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
43 abort: cannot upgrade repository; unsupported source requirement: treemanifest
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
44 [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
45
36404
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35387
diff changeset
46 Cannot add treemanifest requirement during upgrade
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
47
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
48 $ hg init disallowaddedreq
36404
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35387
diff changeset
49 $ hg -R disallowaddedreq --config experimental.treemanifest=true debugupgraderepo
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35387
diff changeset
50 abort: cannot upgrade repository; do not support adding requirement: treemanifest
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
51 [255]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
52
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
53 An upgrade of a repository created with recommended settings only suggests optimizations
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
54
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
55 $ hg init empty
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
56 $ cd empty
35345
c3e4f196b6e0 debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents: 35312
diff changeset
57 $ hg debugformat
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
58 format-variant repo
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
59 fncache: yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
60 dirstate-v2: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
61 dotencode: yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
62 generaldelta: yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
63 share-safe: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
64 sparserevlog: yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
65 persistent-nodemap: no (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
66 persistent-nodemap: yes (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
67 copies-sdc: no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
68 revlog-v2: no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
69 changelog-v2: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
70 plain-cl-delta: yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
71 compression: zlib
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
72 compression-level: default
35346
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35345
diff changeset
73 $ hg debugformat --verbose
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
74 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
75 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
76 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
77 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
78 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
79 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
80 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
81 persistent-nodemap: no no no (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
82 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
83 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
84 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
85 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
86 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: 46849
diff changeset
87 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
88 compression: zlib zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
89 compression-level: default default default
40901
597fe8d81104 test: fix config typo in test-upgrade-repo.t
Boris Feld <boris.feld@octobus.net>
parents: 40854
diff changeset
90 $ hg debugformat --verbose --config format.usefncache=no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
91 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
92 fncache: yes no yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
93 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
94 dotencode: yes no yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
95 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
96 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
97 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
98 persistent-nodemap: no no no (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
99 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
100 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
101 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
102 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
103 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: 46849
diff changeset
104 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
105 compression: zlib zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
106 compression-level: default default default
40901
597fe8d81104 test: fix config typo in test-upgrade-repo.t
Boris Feld <boris.feld@octobus.net>
parents: 40854
diff changeset
107 $ hg debugformat --verbose --config format.usefncache=no --color=debug
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
108 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
109 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
110 [formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
111 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
112 [formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
113 [formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
114 [formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
115 [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (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
116 [formatvariant.name.mismatchdefault|persistent-nodemap:][formatvariant.repo.mismatchdefault| yes][formatvariant.config.special| yes][formatvariant.default| no] (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
117 [formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
118 [formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
119 [formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
120 [formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
121 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
122 [formatvariant.name.mismatchdefault|compression: ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special| zlib][formatvariant.default| zstd] (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
123 [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default]
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
124 $ hg debugformat -Tjson
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
125 [
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
126 {
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
127 "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
128 "default": true,
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
129 "name": "fncache",
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
130 "repo": true
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
131 },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
132 {
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
133 "config": false,
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
134 "default": false,
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
135 "name": "dirstate-v2",
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
136 "repo": false
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
137 },
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
138 {
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
139 "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
140 "default": true,
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
141 "name": "dotencode",
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
142 "repo": true
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
143 },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
144 {
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
145 "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
146 "default": true,
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
147 "name": "generaldelta",
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
148 "repo": true
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
149 },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
150 {
46017
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44876
diff changeset
151 "config": false,
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44876
diff changeset
152 "default": false,
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
153 "name": "share-safe",
46017
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44876
diff changeset
154 "repo": false
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44876
diff changeset
155 },
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44876
diff changeset
156 {
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
157 "config": true,
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
158 "default": true,
38719
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
159 "name": "sparserevlog",
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
160 "repo": true
38719
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
161 },
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
162 {
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
163 "config": false, (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
164 "config": true, (rust !)
43031
e16ca9fde7aa upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43009
diff changeset
165 "default": false,
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
166 "name": "persistent-nodemap",
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
167 "repo": false (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
168 "repo": true (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
169 },
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
170 {
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
171 "config": false,
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
172 "default": false,
43138
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
173 "name": "copies-sdc",
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
174 "repo": false
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
175 },
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
176 {
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
177 "config": false,
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
178 "default": false,
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
179 "name": "revlog-v2",
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
180 "repo": false
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
181 },
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
182 {
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
183 "config": false,
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
184 "default": false,
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
185 "name": "changelog-v2",
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
186 "repo": false
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
187 },
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
188 {
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
189 "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
190 "default": true,
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
191 "name": "plain-cl-delta",
35387
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35386
diff changeset
192 "repo": true
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
193 },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
194 {
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
195 "config": "zlib",
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
196 "default": "zlib", (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
197 "default": "zstd", (zstd !)
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
198 "name": "compression",
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
199 "repo": "zlib"
42045
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
200 },
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
201 {
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
202 "config": "default",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
203 "default": "default",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
204 "name": "compression-level",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
205 "repo": "default"
35386
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
206 }
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35372
diff changeset
207 ]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
208 $ hg debugupgraderepo
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46039
diff changeset
209 (no format upgrades found in existing repository)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
210 performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
211
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
212 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
213 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
214 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
215
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
216 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
217 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
218 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
219 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
220
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
221 additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
222
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
223 re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
224 deltas within internal storage will be recalculated to choose an optimal base revision where this was not already done; the size of the repository may shrink and various operations may become faster; the first time this optimization is performed could slow down upgrade execution considerably; subsequent invocations should not run noticeably slower
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
225
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
226 re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
227 deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
228
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
229 re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
230 deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
231
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
232 re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
233 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
234
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
235
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
236 $ hg debugupgraderepo --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
237 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
238 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
239 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
240
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
241 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
242 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
243 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
244 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
245
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
246
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
247 --optimize can be used to add optimizations
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
248
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
249 $ hg debugupgrade --optimize 're-delta-parent'
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46039
diff changeset
250 (no format upgrades found in existing repository)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
251 performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
252
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
253 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
254 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
255 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
256
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
257 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
258
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
259 re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
260 deltas within internal storage will choose a new base revision if needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
261
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
262 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
263 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
264 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
265 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
266
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
267 additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
268
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
269 re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
270 deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
271
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
272 re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
273 deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
274
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
275 re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
276 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
277
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
278
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
279 modern form of the option
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
280
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
281 $ hg debugupgrade --optimize re-delta-parent
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46039
diff changeset
282 (no format upgrades found in existing repository)
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
283 performing an upgrade with "--run" will make the following changes:
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
284
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
285 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
286 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
287 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
288
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
289 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
290
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
291 re-delta-parent
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
292 deltas within internal storage will choose a new base revision if needed
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
293
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
294 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
295 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
296 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
297 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
298
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
299 additional optimizations are available by specifying "--optimize <name>":
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
300
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
301 re-delta-multibase
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
302 deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
303
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
304 re-delta-all
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
305 deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
306
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
307 re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
308 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
309
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
310 $ hg debugupgrade --optimize re-delta-parent --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
311 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
312 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
313 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
314
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
315 optimisations: re-delta-parent
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
316
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
317 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
318 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
319 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
320 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
321
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
322
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
323 unknown optimization:
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
324
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
325 $ hg debugupgrade --optimize foobar
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
326 abort: unknown optimization action requested: foobar
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
327 (run without arguments to see valid optimizations)
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
328 [255]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
329
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
330 Various sub-optimal detections work
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
331
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
332 $ cat > .hg/requires << EOF
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
333 > revlogv1
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
334 > store
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
335 > EOF
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
336
35345
c3e4f196b6e0 debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents: 35312
diff changeset
337 $ hg debugformat
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
338 format-variant repo
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
339 fncache: no
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
340 dirstate-v2: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
341 dotencode: no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
342 generaldelta: no
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
343 share-safe: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
344 sparserevlog: no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
345 persistent-nodemap: no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
346 copies-sdc: no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
347 revlog-v2: no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
348 changelog-v2: no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
349 plain-cl-delta: yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
350 compression: zlib
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
351 compression-level: default
35346
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35345
diff changeset
352 $ hg debugformat --verbose
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
353 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
354 fncache: no yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
355 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
356 dotencode: no yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
357 generaldelta: no yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
358 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
359 sparserevlog: no yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
360 persistent-nodemap: no no no (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
361 persistent-nodemap: no yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
362 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
363 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
364 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
365 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: 46849
diff changeset
366 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
367 compression: zlib zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
368 compression-level: default default default
35346
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35345
diff changeset
369 $ hg debugformat --verbose --config format.usegeneraldelta=no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
370 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
371 fncache: no yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
372 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
373 dotencode: no yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
374 generaldelta: no no yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
375 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
376 sparserevlog: no no yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
377 persistent-nodemap: no no no (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
378 persistent-nodemap: no yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
379 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
380 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
381 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
382 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: 46849
diff changeset
383 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
384 compression: zlib zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
385 compression-level: default default default
35347
bd326f3e0e14 debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents: 35346
diff changeset
386 $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
387 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
388 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
389 [formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
390 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
391 [formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
392 [formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
393 [formatvariant.name.mismatchdefault|sparserevlog: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
394 [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (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
395 [formatvariant.name.mismatchconfig|persistent-nodemap:][formatvariant.repo.mismatchconfig| no][formatvariant.config.special| yes][formatvariant.default| no] (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
396 [formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
397 [formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
398 [formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
399 [formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
400 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
401 [formatvariant.name.mismatchdefault|compression: ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special| zlib][formatvariant.default| zstd] (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
402 [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
403 $ hg debugupgraderepo
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
404 repository lacks features recommended by current config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
405
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
406 fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
407 long and reserved filenames may not work correctly; repository performance is sub-optimal
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
408
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
409 dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
410 storage of filenames beginning with a period or space may not work correctly
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
411
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
412 generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
413 deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
414
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
415 sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
416 in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
417
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
418 persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
419 persist the node -> rev mapping on disk to speedup lookup (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
420 (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
421
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
422 performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
423
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
424 requirements
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
425 preserved: revlogv1, store
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
426 added: dotencode, fncache, generaldelta, sparserevlog (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
427 added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
428
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
429 fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
430 repository will be more resilient to storing certain paths and performance of certain operations should be improved
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
431
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
432 dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
433 repository will be better able to store files beginning with a space or period
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
434
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
435 generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
436 repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
437
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
438 sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
439 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
440
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
441 persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
442 Speedup revision lookup by node id. (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
443 (rust !)
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
444 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
445 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
446 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
447 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
448
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
449 additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
450
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
451 re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
452 deltas within internal storage will be recalculated to choose an optimal base revision where this was not already done; the size of the repository may shrink and various operations may become faster; the first time this optimization is performed could slow down upgrade execution considerably; subsequent invocations should not run noticeably slower
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
453
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
454 re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
455 deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
456
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
457 re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
458 deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
459
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
460 re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
461 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
462
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
463 $ hg debugupgraderepo --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
464 requirements
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
465 preserved: revlogv1, store
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
466 added: dotencode, fncache, generaldelta, sparserevlog (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
467 added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
468
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
469 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
470 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
471 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
472 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
473
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
474
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
475 $ hg --config format.dotencode=false debugupgraderepo
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
476 repository lacks features recommended by current config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
477
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
478 fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
479 long and reserved filenames may not work correctly; repository performance is sub-optimal
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
480
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
481 generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
482 deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
483
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
484 sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
485 in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
486
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
487 persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
488 persist the node -> rev mapping on disk to speedup lookup (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
489 (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
490 repository lacks features used by the default config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
491
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
492 dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
493 storage of filenames beginning with a period or space may not work correctly
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
494
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
495
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
496 performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
497
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
498 requirements
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
499 preserved: revlogv1, store
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
500 added: fncache, generaldelta, sparserevlog (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
501 added: fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
502
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
503 fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
504 repository will be more resilient to storing certain paths and performance of certain operations should be improved
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
505
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
506 generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
507 repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
508
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
509 sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
510 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
511
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
512 persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
513 Speedup revision lookup by node id. (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
514 (rust !)
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
515 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
516 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
517 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
518 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
519
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
520 additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
521
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
522 re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
523 deltas within internal storage will be recalculated to choose an optimal base revision where this was not already done; the size of the repository may shrink and various operations may become faster; the first time this optimization is performed could slow down upgrade execution considerably; subsequent invocations should not run noticeably slower
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
524
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
525 re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
526 deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
527
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
528 re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
529 deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
530
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
531 re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
532 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
533
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
534
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
535 $ cd ..
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
536
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
537 Upgrading a repository that is already modern essentially no-ops
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
538
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
539 $ hg init modern
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
540 $ hg -R modern debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
541 nothing to do
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
542
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
543 Upgrading a repository to generaldelta works
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
544
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
545 $ hg --config format.usegeneraldelta=false init upgradegd
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
546 $ cd upgradegd
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
547 $ touch f0
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
548 $ hg -q commit -A -m initial
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
549 $ mkdir FooBarDirectory.d
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
550 $ touch FooBarDirectory.d/f1
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
551 $ hg -q commit -A -m 'add f1'
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
552 $ hg -q up -r 0
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
553 >>> from __future__ import absolute_import, print_function
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
554 >>> import random
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
555 >>> random.seed(0) # have a reproducible content
43195
86b26f20146d tests: open file in binary mode in test-upgrade-repo.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 43167
diff changeset
556 >>> with open("f2", "wb") as f:
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
557 ... for i in range(100000):
43195
86b26f20146d tests: open file in binary mode in test-upgrade-repo.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 43167
diff changeset
558 ... f.write(b"%d\n" % random.randint(1000000000, 9999999999)) and None
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
559 $ hg -q commit -A -m 'add f2'
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
560
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
561 make sure we have a .d file
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
562
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
563 $ ls -d .hg/store/data/*
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
564 .hg/store/data/_foo_bar_directory.d.hg
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
565 .hg/store/data/f0.i
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
566 .hg/store/data/f2.d
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
567 .hg/store/data/f2.i
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
568
40935
e8cd688b2eb1 test: preemptively disable sparse-revlog for some of test-upgrade-repo
Boris Feld <boris.feld@octobus.net>
parents: 40901
diff changeset
569 $ hg debugupgraderepo --run --config format.sparse-revlog=false
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
570 upgrade will perform the following actions:
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
571
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
572 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
573 preserved: dotencode, fncache, revlogv1, store (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
574 preserved: dotencode, fncache, persistent-nodemap, revlogv1, store (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
575 added: generaldelta
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
576
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
577 generaldelta
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
578 repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
579
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
580 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
581 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
582 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
583 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
584
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
585 beginning upgrade...
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
586 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
587 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
588 (it is safe to interrupt this process any time before data migration completes)
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
589 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
590 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
591 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
592 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
593 migrating 1 manifests containing 3 revisions (384 bytes in store; 238 bytes tracked data)
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
594 finished migrating 3 manifest revisions across 1 manifests; change in size: -17 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
595 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
596 finished migrating 3 changelog revisions; change in size: 0 bytes
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
597 finished migrating 9 total revisions; total change in store size: -17 bytes
30780
2603d04889e1 repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30779
diff changeset
598 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
599 data fully upgraded in a temporary repository
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
600 marking source repository as being upgraded; clients will be unable to read from repository
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
601 starting in-place swap of repository data
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
602 replaced files will be backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
603 replacing store...
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
604 store replacement complete; repository was inconsistent for *s (glob)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
605 finalizing requirements file and making repository readable again
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
606 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
607 copy of old repository backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
608 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
609
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
610 Original requirements backed up
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
611
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
612 $ cat .hg/upgradebackup.*/requires
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
613 dotencode
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
614 fncache
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
615 persistent-nodemap (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
616 revlogv1
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
617 store
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
618
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
619 generaldelta added to original requirements files
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
620
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
621 $ cat .hg/requires
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
622 dotencode
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
623 fncache
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
624 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
625 persistent-nodemap (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
626 revlogv1
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
627 store
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
628
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
629 store directory has files we expect
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
630
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
631 $ ls .hg/store
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
632 00changelog.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
633 00manifest.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
634 data
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
635 fncache
30780
2603d04889e1 repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30779
diff changeset
636 phaseroots
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
637 undo
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
638 undo.backupfiles
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
639 undo.phaseroots
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
640
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
641 manifest should be generaldelta
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
642
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
643 $ hg debugrevlog -m | grep flags
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
644 flags : inline, generaldelta
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
645
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
646 verify should be happy
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
647
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
648 $ hg verify
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
649 checking changesets
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
650 checking manifests
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
651 crosschecking files in changesets and manifests
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
652 checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 38720
diff changeset
653 checked 3 changesets with 3 changes to 3 files
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
654
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
655 old store should be backed up
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
656
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
657 $ ls -d .hg/upgradebackup.*/
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
658 .hg/upgradebackup.*/ (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
659 $ ls .hg/upgradebackup.*/store
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
660 00changelog.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
661 00manifest.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
662 data
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
663 fncache
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
664 phaseroots
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
665 undo
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
666 undo.backup.fncache
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
667 undo.backupfiles
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
668 undo.phaseroots
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
669
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
670 unless --no-backup is passed
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
671
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
672 $ rm -rf .hg/upgradebackup.*/
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
673 $ hg debugupgraderepo --run --no-backup
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
674 upgrade will perform the following actions:
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
675
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
676 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
677 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
678 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
679 added: sparserevlog
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
680
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
681 sparserevlog
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
682 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
683
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
684 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
685 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
686 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
687 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
688
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
689 beginning upgrade...
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
690 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
691 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
692 (it is safe to interrupt this process any time before data migration completes)
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
693 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
694 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
695 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
696 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
697 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
698 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
699 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
700 finished migrating 3 changelog revisions; change in size: 0 bytes
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
701 finished migrating 9 total revisions; total change in store size: 0 bytes
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
702 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
703 data fully upgraded in a temporary repository
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
704 marking source repository as being upgraded; clients will be unable to read from repository
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
705 starting in-place swap of repository data
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
706 replacing store...
41990
22ed63869835 tests: glob seconds in test-upgrade-repo.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41092
diff changeset
707 store replacement complete; repository was inconsistent for * (glob)
41092
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
708 finalizing requirements file and making repository readable again
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
709 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
710 $ ls -1 .hg/ | grep upgradebackup
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41091
diff changeset
711 [1]
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
712
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
713 We can restrict optimization to some revlog:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
714
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
715 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
716 upgrade will perform the following actions:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
717
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
718 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
719 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
720 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
721
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
722 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
723
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
724 re-delta-parent
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
725 deltas within internal storage will choose a new base revision if needed
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
726
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
727 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
728 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
729
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
730 beginning upgrade...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
731 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
732 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
733 (it is safe to interrupt this process any time before data migration completes)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
734 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
735 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
736 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
737 blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
738 blindly copying data/f0.i containing 1 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
739 blindly copying data/f2.i containing 1 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
740 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
741 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
742 cloning 3 revisions from 00manifest.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
743 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
744 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
745 blindly copying 00changelog.i containing 3 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
746 finished migrating 3 changelog revisions; change in size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
747 finished migrating 9 total revisions; total change in store size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
748 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
749 data fully upgraded in a temporary repository
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
750 marking source repository as being upgraded; clients will be unable to read from repository
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
751 starting in-place swap of repository data
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
752 replacing store...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
753 store replacement complete; repository was inconsistent for *s (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
754 finalizing requirements file and making repository readable again
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
755 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
756
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
757 Check that the repo still works fine
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
758
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
759 $ hg log -G --stat
43074
9cc55b743713 tests: conditionalize output for Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43031
diff changeset
760 @ changeset: 2:76d4395f5413 (no-py3 !)
9cc55b743713 tests: conditionalize output for Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43031
diff changeset
761 @ changeset: 2:fca376863211 (py3 !)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
762 | tag: tip
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
763 | parent: 0:ba592bf28da2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
764 | user: test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
765 | date: Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
766 | summary: add f2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
767 |
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
768 | f2 | 100000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
769 | 1 files changed, 100000 insertions(+), 0 deletions(-)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
770 |
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
771 | o changeset: 1:2029ce2354e2
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
772 |/ user: test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
773 | date: Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
774 | summary: add f1
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
775 |
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
776 |
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
777 o changeset: 0:ba592bf28da2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
778 user: test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
779 date: Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
780 summary: initial
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
781
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
782
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
783
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
784 $ hg verify
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
785 checking changesets
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
786 checking manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
787 crosschecking files in changesets and manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
788 checking files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
789 checked 3 changesets with 3 changes to 3 files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
790
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
791 Check we can select negatively
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
792
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
793 $ hg debugupgrade --optimize re-delta-parent --run --no-manifest --no-backup --debug --traceback
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
794 upgrade will perform the following actions:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
795
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
796 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
797 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
798 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
799
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
800 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
801
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
802 re-delta-parent
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
803 deltas within internal storage will choose a new base revision if needed
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
804
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
805 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
806 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
807 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
808
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
809 beginning upgrade...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
810 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
811 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
812 (it is safe to interrupt this process any time before data migration completes)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
813 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
814 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
815 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
816 cloning 1 revisions from data/FooBarDirectory.d/f1.i
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
817 cloning 1 revisions from data/f0.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
818 cloning 1 revisions from data/f2.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
819 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
820 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
821 blindly copying 00manifest.i containing 3 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
822 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
823 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
824 cloning 3 revisions from 00changelog.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
825 finished migrating 3 changelog revisions; change in size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
826 finished migrating 9 total revisions; total change in store size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
827 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
828 data fully upgraded in a temporary repository
42840
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
829 marking source repository as being upgraded; clients will be unable to read from repository
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
830 starting in-place swap of repository data
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
831 replacing store...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
832 store replacement complete; repository was inconsistent for *s (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
833 finalizing requirements file and making repository readable again
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
834 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
835 $ hg verify
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
836 checking changesets
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
837 checking manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
838 crosschecking files in changesets and manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
839 checking files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
840 checked 3 changesets with 3 changes to 3 files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
841
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
842 Check that we can select changelog only
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
843
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
844 $ hg debugupgrade --optimize re-delta-parent --run --changelog --no-backup --debug --traceback
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
845 upgrade will perform the following actions:
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
846
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
847 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
848 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
849 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
850
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
851 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
852
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
853 re-delta-parent
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
854 deltas within internal storage will choose a new base revision if needed
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
855
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
856 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
857 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
858
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
859 beginning upgrade...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
860 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
861 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
862 (it is safe to interrupt this process any time before data migration completes)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
863 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
864 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
865 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
866 blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
867 blindly copying data/f0.i containing 1 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
868 blindly copying data/f2.i containing 1 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
869 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
870 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
871 blindly copying 00manifest.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
872 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
873 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
874 cloning 3 revisions from 00changelog.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
875 finished migrating 3 changelog revisions; change in size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
876 finished migrating 9 total revisions; total change in store size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
877 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
878 data fully upgraded in a temporary repository
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
879 marking source repository as being upgraded; clients will be unable to read from repository
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
880 starting in-place swap of repository data
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
881 replacing store...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
882 store replacement complete; repository was inconsistent for *s (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
883 finalizing requirements file and making repository readable again
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
884 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
885 $ hg verify
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
886 checking changesets
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
887 checking manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
888 crosschecking files in changesets and manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
889 checking files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
890 checked 3 changesets with 3 changes to 3 files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
891
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
892 Check that we can select filelog only
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
893
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
894 $ hg debugupgrade --optimize re-delta-parent --run --no-changelog --no-manifest --no-backup --debug --traceback
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
895 upgrade will perform the following actions:
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
896
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
897 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
898 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
899 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
900
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
901 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
902
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
903 re-delta-parent
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
904 deltas within internal storage will choose a new base revision if needed
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
905
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
906 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
907 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
908
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
909 beginning upgrade...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
910 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
911 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
912 (it is safe to interrupt this process any time before data migration completes)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
913 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
914 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
915 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
916 cloning 1 revisions from data/FooBarDirectory.d/f1.i
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
917 cloning 1 revisions from data/f0.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
918 cloning 1 revisions from data/f2.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
919 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
920 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
921 blindly copying 00manifest.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
922 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
923 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
924 blindly copying 00changelog.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
925 finished migrating 3 changelog revisions; change in size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
926 finished migrating 9 total revisions; total change in store size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
927 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
928 data fully upgraded in a temporary repository
42841
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
929 marking source repository as being upgraded; clients will be unable to read from repository
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
930 starting in-place swap of repository data
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
931 replacing store...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
932 store replacement complete; repository was inconsistent for *s (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
933 finalizing requirements file and making repository readable again
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
934 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
935 $ hg verify
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
936 checking changesets
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
937 checking manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
938 crosschecking files in changesets and manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
939 checking files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
940 checked 3 changesets with 3 changes to 3 files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42840
diff changeset
941
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
942
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
943 Check you can't skip revlog clone during important format downgrade
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
944
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
945 $ echo "[format]" > .hg/hgrc
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
946 $ echo "sparse-revlog=no" >> .hg/hgrc
48485
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
947 $ hg debugupgrade --optimize re-delta-parent --no-manifest --no-backup --quiet
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
948 warning: ignoring --no-manifest, as upgrade is changing: sparserevlog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
949
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
950 ignoring revlogs selection flags, format requirements change: sparserevlog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
951 requirements
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
952 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
953 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
954 removed: sparserevlog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
955
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
956 optimisations: re-delta-parent
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
957
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
958 processed revlogs:
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
959 - all-filelogs
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
960 - changelog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
961 - manifest
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48339
diff changeset
962
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
963 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
964 ignoring revlogs selection flags, format requirements change: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
965 upgrade will perform the following actions:
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
966
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
967 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
968 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
969 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
970 removed: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
971
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
972 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
973
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
974 re-delta-parent
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
975 deltas within internal storage will choose a new base revision if needed
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
976
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
977 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
978 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
979 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
980 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
981
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
982 beginning upgrade...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
983 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
984 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
985 (it is safe to interrupt this process any time before data migration completes)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
986 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
987 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
988 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
989 cloning 1 revisions from data/FooBarDirectory.d/f1.i
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
990 cloning 1 revisions from data/f0.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
991 cloning 1 revisions from data/f2.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
992 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
993 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
994 cloning 3 revisions from 00manifest.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
995 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
996 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
997 cloning 3 revisions from 00changelog.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
998 finished migrating 3 changelog revisions; change in size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
999 finished migrating 9 total revisions; total change in store size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1000 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1001 data fully upgraded in a temporary repository
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1002 marking source repository as being upgraded; clients will be unable to read from repository
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1003 starting in-place swap of repository data
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1004 replacing store...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1005 store replacement complete; repository was inconsistent for *s (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1006 finalizing requirements file and making repository readable again
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1007 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1008 $ hg verify
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1009 checking changesets
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1010 checking manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1011 crosschecking files in changesets and manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1012 checking files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1013 checked 3 changesets with 3 changes to 3 files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1014
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1015 Check you can't skip revlog clone during important format upgrade
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1016
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1017 $ echo "sparse-revlog=yes" >> .hg/hgrc
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1018 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1019 ignoring revlogs selection flags, format requirements change: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1020 upgrade will perform the following actions:
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1021
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1022 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1023 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
1024 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1025 added: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1026
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1027 optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1028
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1029 sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1030 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1031
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1032 re-delta-parent
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1033 deltas within internal storage will choose a new base revision if needed
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1034
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1035 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1036 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1037 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1038 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1039
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1040 beginning upgrade...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1041 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1042 creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1043 (it is safe to interrupt this process any time before data migration completes)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1044 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43003
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
1045 migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43001
diff changeset
1046 migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
1047 cloning 1 revisions from data/FooBarDirectory.d/f1.i
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1048 cloning 1 revisions from data/f0.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1049 cloning 1 revisions from data/f2.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1050 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
1051 migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1052 cloning 3 revisions from 00manifest.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1053 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
43001
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42842
diff changeset
1054 migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1055 cloning 3 revisions from 00changelog.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1056 finished migrating 3 changelog revisions; change in size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1057 finished migrating 9 total revisions; total change in store size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1058 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1059 data fully upgraded in a temporary repository
42842
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1060 marking source repository as being upgraded; clients will be unable to read from repository
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1061 starting in-place swap of repository data
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1062 replacing store...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1063 store replacement complete; repository was inconsistent for *s (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1064 finalizing requirements file and making repository readable again
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1065 removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1066 $ hg verify
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1067 checking changesets
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1068 checking manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1069 crosschecking files in changesets and manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1070 checking files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1071 checked 3 changesets with 3 changes to 3 files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42841
diff changeset
1072
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
1073 $ cd ..
30896
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1074
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1075 store files with special filenames aren't encoded during copy
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1076
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1077 $ hg init store-filenames
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1078 $ cd store-filenames
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1079 $ touch foo
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1080 $ hg -q commit -A -m initial
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1081 $ touch .hg/store/.XX_special_filename
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1082
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1083 $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
1084 nothing to do
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
1085 $ hg debugupgraderepo --run --optimize 're-delta-fulladd'
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1086 upgrade will perform the following actions:
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1087
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1088 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1089 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
1090 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1091
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1092 optimisations: re-delta-fulladd
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1093
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
1094 re-delta-fulladd
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1095 each revision will be added as new content to the internal storage; this will likely drastically slow down execution time, but some extensions might need it
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1096
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1097 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1098 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1099 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1100 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1101
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1102 beginning upgrade...
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1103 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1104 creating temporary repository to stage upgraded data: $TESTTMP/store-filenames/.hg/upgrade.* (glob)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1105 (it is safe to interrupt this process any time before data migration completes)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1106 migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog)
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1107 migrating 301 bytes in store; 107 bytes tracked data
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1108 migrating 1 filelogs containing 1 revisions (64 bytes in store; 0 bytes tracked data)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1109 finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1110 migrating 1 manifests containing 1 revisions (110 bytes in store; 45 bytes tracked data)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1111 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1112 migrating changelog containing 1 revisions (127 bytes in store; 62 bytes tracked data)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1113 finished migrating 1 changelog revisions; change in size: 0 bytes
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1114 finished migrating 3 total revisions; total change in store size: 0 bytes
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1115 copying .XX_special_filename
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1116 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1117 data fully upgraded in a temporary repository
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1118 marking source repository as being upgraded; clients will be unable to read from repository
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1119 starting in-place swap of repository data
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1120 replaced files will be backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1121 replacing store...
35369
6699825f1242 test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents: 35354
diff changeset
1122 store replacement complete; repository was inconsistent for *s (glob)
35354
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1123 finalizing requirements file and making repository readable again
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1124 removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1125 copy of old repository backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35351
diff changeset
1126 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
30896
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1127
40854
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39862
diff changeset
1128 fncache is valid after upgrade
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39862
diff changeset
1129
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39862
diff changeset
1130 $ hg debugrebuildfncache
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39862
diff changeset
1131 fncache already up to date
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39862
diff changeset
1132
30896
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
1133 $ cd ..
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1134
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1135 Check upgrading a large file repository
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1136 ---------------------------------------
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1137
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1138 $ hg init largefilesrepo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1139 $ cat << EOF >> largefilesrepo/.hg/hgrc
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1140 > [extensions]
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1141 > largefiles =
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1142 > EOF
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1143
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1144 $ cd largefilesrepo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1145 $ touch foo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1146 $ hg add --large foo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1147 $ hg -q commit -m initial
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1148 $ cat .hg/requires
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1149 dotencode
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1150 fncache
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1151 generaldelta
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1152 largefiles
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1153 persistent-nodemap (rust !)
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1154 revlogv1
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1155 sparserevlog
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1156 store
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1157
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1158 $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
1159 nothing to do
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1160 $ cat .hg/requires
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1161 dotencode
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1162 fncache
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1163 generaldelta
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1164 largefiles
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1165 persistent-nodemap (rust !)
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1166 revlogv1
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1167 sparserevlog
35312
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 30897
diff changeset
1168 store
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1169
35370
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1170 $ cat << EOF >> .hg/hgrc
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1171 > [extensions]
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1172 > lfs =
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1173 > [lfs]
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1174 > threshold = 10
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1175 > EOF
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1176 $ echo '123456789012345' > lfs.bin
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1177 $ hg ci -Am 'lfs.bin'
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1178 adding lfs.bin
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1179 $ grep lfs .hg/requires
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1180 lfs
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1181 $ find .hg/store/lfs -type f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1182 .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1183
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1184 $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
1185 nothing to do
35370
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1186
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1187 $ grep lfs .hg/requires
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1188 lfs
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1189 $ find .hg/store/lfs -type f
35372
b0ba1539af01 lfs: restore the local blob store after a repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35370
diff changeset
1190 .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
35370
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1191 $ hg verify
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1192 checking changesets
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1193 checking manifests
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1194 crosschecking files in changesets and manifests
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1195 checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 38720
diff changeset
1196 checked 2 changesets with 2 changes to 2 files
35370
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1197 $ hg debugdata lfs.bin 0
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1198 version https://git-lfs.github.com/spec/v1
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1199 oid sha256:d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1200 size 16
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1201 x-is-binary 0
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35369
diff changeset
1202
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1203 $ cd ..
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1204
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1205 repository config is taken in account
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1206 -------------------------------------
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1207
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1208 $ cat << EOF >> $HGRCPATH
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1209 > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1210 > maxchainlen = 1
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1211 > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1212
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1213 $ hg init localconfig
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1214 $ cd localconfig
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1215 $ cat << EOF > file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1216 > some content
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1217 > with some length
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1218 > to make sure we get a delta
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1219 > after changes
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1220 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1221 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1222 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1223 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1224 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1225 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1226 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1227 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1228 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1229 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1230 > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1231 > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1232 $ hg -q commit -A -m A
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1233 $ echo "new line" >> file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1234 $ hg -q commit -m B
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1235 $ echo "new line" >> file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1236 $ hg -q commit -m C
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1237
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1238 $ cat << EOF >> .hg/hgrc
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1239 > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1240 > maxchainlen = 9001
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1241 > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1242 $ hg config format
46849
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
1243 format.revlog-compression=$BUNDLE2_COMPRESSIONS$
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1244 format.maxchainlen=9001
37283
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36404
diff changeset
1245 $ hg debugdeltachain file
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1246 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1247 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000 77 77 1.00000 1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1248 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000 98 98 1.00000 1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1249 2 1 2 0 other 30 200 107 0.53500 128 21 0.19626 128 128 0.83594 1
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1250
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
1251 $ hg debugupgraderepo --run --optimize 're-delta-all'
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1252 upgrade will perform the following actions:
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1253
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1254 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1255 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
1256 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1257
44874
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1258 optimisations: re-delta-all
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44741
diff changeset
1259
41091
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40936
diff changeset
1260 re-delta-all
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1261 deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1262
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1263 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1264 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1265 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1266 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1267
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1268 beginning upgrade...
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1269 repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1270 creating temporary repository to stage upgraded data: $TESTTMP/localconfig/.hg/upgrade.* (glob)
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1271 (it is safe to interrupt this process any time before data migration completes)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1272 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1273 migrating 1019 bytes in store; 882 bytes tracked data
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1274 migrating 1 filelogs containing 3 revisions (320 bytes in store; 573 bytes tracked data)
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1275 finished migrating 3 filelog revisions across 1 filelogs; change in size: -9 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1276 migrating 1 manifests containing 3 revisions (333 bytes in store; 138 bytes tracked data)
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1277 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39506
diff changeset
1278 migrating changelog containing 3 revisions (366 bytes in store; 171 bytes tracked data)
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1279 finished migrating 3 changelog revisions; change in size: 0 bytes
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1280 finished migrating 9 total revisions; total change in store size: -9 bytes
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1281 copying phaseroots
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
1282 data fully upgraded in a temporary repository
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1283 marking source repository as being upgraded; clients will be unable to read from repository
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1284 starting in-place swap of repository data
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1285 replaced files will be backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1286 replacing store...
35369
6699825f1242 test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents: 35354
diff changeset
1287 store replacement complete; repository was inconsistent for *s (glob)
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1288 finalizing requirements file and making repository readable again
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1289 removing temporary repository $TESTTMP/localconfig/.hg/upgrade.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1290 copy of old repository backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1291 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
37283
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36404
diff changeset
1292 $ hg debugdeltachain file
40936
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1293 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1294 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000 77 77 1.00000 1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1295 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000 98 98 1.00000 1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40935
diff changeset
1296 2 1 3 1 p1 21 200 119 0.59500 119 0 0.00000 119 119 1.00000 1
35350
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1297 $ cd ..
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1298
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1299 $ cat << EOF >> $HGRCPATH
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1300 > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1301 > maxchainlen = 9001
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35349
diff changeset
1302 > EOF
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1303
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1304 Check upgrading a sparse-revlog repository
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1305 ---------------------------------------
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1306
40935
e8cd688b2eb1 test: preemptively disable sparse-revlog for some of test-upgrade-repo
Boris Feld <boris.feld@octobus.net>
parents: 40901
diff changeset
1307 $ hg init sparserevlogrepo --config format.sparse-revlog=no
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1308 $ cd sparserevlogrepo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1309 $ touch foo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1310 $ hg add foo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1311 $ hg -q commit -m "foo"
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1312 $ cat .hg/requires
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1313 dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1314 fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1315 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1316 persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1317 revlogv1
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1318 store
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1319
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1320 Check that we can add the sparse-revlog format requirement
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1321 $ hg --config format.sparse-revlog=yes debugupgraderepo --run --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1322 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1323
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1324 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1325 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
1326 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1327 added: sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1328
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1329 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1330 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1331 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1332 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1333
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1334 $ cat .hg/requires
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1335 dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1336 fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1337 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1338 persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1339 revlogv1
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1340 sparserevlog
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1341 store
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1342
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1343 Check that we can remove the sparse-revlog format requirement
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1344 $ hg --config format.sparse-revlog=no debugupgraderepo --run --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1345 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1346
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1347 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1348 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
1349 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1350 removed: sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1351
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1352 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1353 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1354 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1355 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1356
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1357 $ cat .hg/requires
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1358 dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1359 fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1360 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1361 persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1362 revlogv1
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
1363 store
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1364
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1365 #if zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1366
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1367 Check upgrading to a zstd revlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1368 --------------------------------
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1369
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1370 upgrade
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1371
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1372 $ hg --config format.revlog-compression=zstd debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1373 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1374
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1375 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1376 preserved: dotencode, fncache, generaldelta, revlogv1, store (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
1377 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1378 added: revlog-compression-zstd, sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1379
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1380 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1381 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1382 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1383 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1384
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1385 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1386 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1387 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1388 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1389 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1390 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1391 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1392 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1393 persistent-nodemap: no no no (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
1394 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1395 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1396 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1397 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1398 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: 46849
diff changeset
1399 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1400 compression: zstd zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1401 compression-level: default default default
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1402 $ cat .hg/requires
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1403 dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1404 fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1405 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1406 persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1407 revlog-compression-zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1408 revlogv1
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1409 sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1410 store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1411
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1412 downgrade
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1413
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1414 $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1415 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1416
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1417 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1418 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
1419 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1420 removed: revlog-compression-zstd
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1421
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1422 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1423 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1424 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1425 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1426
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1427 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1428 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1429 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1430 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1431 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1432 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1433 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1434 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1435 persistent-nodemap: no no no (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
1436 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1437 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1438 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1439 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1440 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: 46849
diff changeset
1441 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1442 compression: zlib zlib zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1443 compression-level: default default default
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1444 $ cat .hg/requires
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1445 dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1446 fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1447 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1448 persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1449 revlogv1
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1450 sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1451 store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1452
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1453 upgrade from hgrc
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1454
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1455 $ cat >> .hg/hgrc << EOF
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1456 > [format]
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1457 > revlog-compression=zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1458 > EOF
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1459 $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1460 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1461
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1462 requirements
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1463 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (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
1464 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1465 added: revlog-compression-zstd
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1466
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1467 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1468 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1469 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1470 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1471
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1472 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1473 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1474 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1475 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1476 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1477 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1478 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1479 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1480 persistent-nodemap: no no no (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
1481 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1482 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1483 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1484 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1485 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: 46849
diff changeset
1486 compression: zlib zlib zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1487 compression: zstd zstd zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1488 compression-level: default default default
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1489 $ cat .hg/requires
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1490 dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1491 fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1492 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1493 persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1494 revlog-compression-zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1495 revlogv1
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1496 sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1497 store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1498
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1499 #endif
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1500
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1501 Check upgrading to a revlog format supporting sidedata
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1502 ------------------------------------------------------
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1503
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1504 upgrade
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
1505
47234
281060fbccef upgrade: display sidedata before upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
1506 $ hg debugsidedata -c 0
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1507 $ hg --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data debugupgraderepo --run --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" --quiet
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1508 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1509
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1510 requirements
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1511 preserved: dotencode, fncache, generaldelta, store (no-zstd !)
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1512 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd 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
1513 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1514 removed: revlogv1
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1515 added: exp-revlogv2.2 (zstd !)
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1516 added: exp-revlogv2.2, sparserevlog (no-zstd !)
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1517
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1518 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1519 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1520 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1521 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1522
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1523 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1524 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1525 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1526 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1527 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1528 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1529 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1530 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1531 persistent-nodemap: no no no (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
1532 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1533 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1534 revlog-v2: yes no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1535 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1536 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: 44875
diff changeset
1537 compression: zlib zlib zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1538 compression: zstd zstd zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1539 compression-level: default default default
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1540 $ cat .hg/requires
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1541 dotencode
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1542 exp-revlogv2.2
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1543 fncache
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1544 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1545 persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
1546 revlog-compression-zstd (zstd !)
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1547 sparserevlog
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1548 store
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1549 $ hg debugsidedata -c 0
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1550 2 sidedata entries
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1551 entry-0001 size 4
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1552 entry-0002 size 32
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
1553
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1554 downgrade
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1555
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1556 $ hg debugupgraderepo --config experimental.revlogv2=no --run --no-backup --quiet
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1557 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1558
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1559 requirements
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1560 preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1561 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd 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
1562 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1563 removed: exp-revlogv2.2
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1564 added: revlogv1
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1565
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1566 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1567 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1568 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1569 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1570
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1571 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1572 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1573 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1574 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1575 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1576 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1577 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1578 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1579 persistent-nodemap: no no no (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
1580 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1581 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1582 revlog-v2: no no no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1583 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1584 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: 44875
diff changeset
1585 compression: zlib zlib zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1586 compression: zstd zstd zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1587 compression-level: default default default
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1588 $ cat .hg/requires
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1589 dotencode
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1590 fncache
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1591 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1592 persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
1593 revlog-compression-zstd (zstd !)
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1594 revlogv1
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1595 sparserevlog
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1596 store
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1597 $ hg debugsidedata -c 0
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1598
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1599 upgrade from hgrc
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1600
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1601 $ cat >> .hg/hgrc << EOF
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1602 > [experimental]
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1603 > revlogv2=enable-unstable-format-and-corrupt-my-data
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1604 > EOF
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1605 $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1606 upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1607
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1608 requirements
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1609 preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1610 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd 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
1611 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1612 removed: revlogv1
47238
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47234
diff changeset
1613 added: exp-revlogv2.2
44875
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44874
diff changeset
1614
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1615 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1616 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1617 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1618 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
1619
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1620 $ hg debugformat -v
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1621 format-variant repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1622 fncache: yes yes yes
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1623 dirstate-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1624 dotencode: yes yes yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1625 generaldelta: yes yes yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
1626 share-safe: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1627 sparserevlog: yes yes yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1628 persistent-nodemap: no no no (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
1629 persistent-nodemap: yes yes no (rust !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1630 copies-sdc: no no no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1631 revlog-v2: yes yes no
47274
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
1632 changelog-v2: no no no
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1633 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: 44875
diff changeset
1634 compression: zlib zlib zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
1635 compression: zstd zstd zstd (zstd !)
44876
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44875
diff changeset
1636 compression-level: default default default
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1637 $ cat .hg/requires
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1638 dotencode
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Rapha?l Gom?s <rgomes@octobus.net>
parents: 46447
diff changeset
1639 exp-revlogv2.2
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1640 fncache
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1641 generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
1642 persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
1643 revlog-compression-zstd (zstd !)
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1644 sparserevlog
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1645 store
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
1646 $ hg debugsidedata -c 0
46223
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
1647
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
1648 Demonstrate that nothing to perform upgrade will still run all the way through
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
1649
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
1650 $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
1651 nothing to do
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1652
48338
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1653 #if no-rust
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1654
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1655 $ cat << EOF >> $HGRCPATH
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1656 > [storage]
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1657 > dirstate-v2.slow-path = allow
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1658 > EOF
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1659
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1660 #endif
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1661
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1662 Upgrade to dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1663
48336
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
1664 $ hg debugformat -v --config format.exp-rc-dirstate-v2=1 | grep dirstate-v2
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1665 dirstate-v2: no yes no
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47328
diff changeset
1666 $ hg debugupgraderepo --config format.exp-rc-dirstate-v2=1 --run
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1667 upgrade will perform the following actions:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1668
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1669 requirements
48338
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1670 preserved: * (glob)
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47328
diff changeset
1671 added: dirstate-v2
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1672
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1673 dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1674 "hg status" will be faster
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1675
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1676 processed revlogs:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1677 - all-filelogs
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1678 - changelog
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1679 - manifest
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1680
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1681 beginning upgrade...
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1682 repository locked and read-only
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1683 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1684 (it is safe to interrupt this process any time before data migration completes)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1685 upgrading to dirstate-v2 from v1
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1686 replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1687 removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1688 $ ls .hg/upgradebackup.*/dirstate
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1689 .hg/upgradebackup.*/dirstate (glob)
48336
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
1690 $ hg debugformat -v | grep dirstate-v2
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1691 dirstate-v2: yes no no
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1692 $ hg status
48337
18032c282a7e upgrade: don't use `dd status=none` in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48336
diff changeset
1693 $ dd bs=12 count=1 if=.hg/dirstate 2> /dev/null
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1694 dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1695
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1696 Downgrade from dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1697
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1698 $ hg debugupgraderepo --run
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1699 upgrade will perform the following actions:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1700
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1701 requirements
48338
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48337
diff changeset
1702 preserved: * (glob)
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47328
diff changeset
1703 removed: dirstate-v2
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1704
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1705 processed revlogs:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1706 - all-filelogs
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1707 - changelog
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1708 - manifest
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1709
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1710 beginning upgrade...
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1711 repository locked and read-only
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1712 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1713 (it is safe to interrupt this process any time before data migration completes)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1714 downgrading from dirstate-v2 to v1
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1715 replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1716 removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
48336
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
1717 $ hg debugformat -v | grep dirstate-v2
47328
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1718 dirstate-v2: no no no
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47274
diff changeset
1719 $ hg status
48339
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1720
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1721 $ cd ..
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1722
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1723 dirstate-v2: upgrade and downgrade from and empty repository:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1724 -------------------------------------------------------------
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1725
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1726 $ hg init --config format.exp-rc-dirstate-v2=no dirstate-v2-empty
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1727 $ cd dirstate-v2-empty
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1728 $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1729 dirstate-v2: no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1730
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1731 upgrade
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1732
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1733 $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=yes
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1734 upgrade will perform the following actions:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1735
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1736 requirements
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1737 preserved: * (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1738 added: dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1739
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1740 dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1741 "hg status" will be faster
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1742
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1743 processed revlogs:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1744 - all-filelogs
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1745 - changelog
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1746 - manifest
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1747
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1748 beginning upgrade...
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1749 repository locked and read-only
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1750 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1751 (it is safe to interrupt this process any time before data migration completes)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1752 upgrading to dirstate-v2 from v1
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1753 replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1754 removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1755 $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1756 dirstate-v2: yes
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1757
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1758 downgrade
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1759
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1760 $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1761 upgrade will perform the following actions:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1762
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1763 requirements
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1764 preserved: * (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1765 removed: dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1766
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1767 processed revlogs:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1768 - all-filelogs
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1769 - changelog
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1770 - manifest
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1771
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1772 beginning upgrade...
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1773 repository locked and read-only
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1774 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1775 (it is safe to interrupt this process any time before data migration completes)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1776 downgrading from dirstate-v2 to v1
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1777 replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1778 removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1779 $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1780 dirstate-v2: no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1781
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48338
diff changeset
1782 $ cd ..