Mercurial > hg
annotate tests/test-upgrade-repo.t @ 35361:b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
The test also shows that the local blob store is erroneously lost.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 07 Dec 2017 22:36:31 -0500 |
parents | 6699825f1242 |
children | b0ba1539af01 |
rev | line source |
---|---|
30775
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
1 $ cat >> $HGRCPATH << EOF |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
2 > [extensions] |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
3 > share = |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
4 > EOF |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
5 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
6 store and revlogv1 are required in source |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
7 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
8 $ 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
|
9 $ hg -R no-store debugupgraderepo |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
10 abort: cannot upgrade repository; requirement missing: store |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
11 [255] |
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 init no-revlogv1 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
14 $ cat > no-revlogv1/.hg/requires << EOF |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
15 > dotencode |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
16 > fncache |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
17 > generaldelta |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
18 > store |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
19 > EOF |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
20 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
21 $ hg -R no-revlogv1 debugupgraderepo |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
22 abort: cannot upgrade repository; requirement missing: revlogv1 |
30774
eaa5607132a2
debugcommands: stub for debugupgraderepo command
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
23 [255] |
30775
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
24 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
25 Cannot upgrade shared repositories |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
26 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
27 $ hg init share-parent |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
28 $ hg -q share share-parent share-child |
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 $ hg -R share-child debugupgraderepo |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
31 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
|
32 [255] |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
33 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
34 Do not yet support upgrading manifestv2 and treemanifest repos |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
35 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
36 $ hg --config experimental.manifestv2=true init manifestv2 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
37 $ hg -R manifestv2 debugupgraderepo |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
38 abort: cannot upgrade repository; unsupported source requirement: manifestv2 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
39 [255] |
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 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
46 Cannot add manifestv2 or treemanifest requirement during upgrade |
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 |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
49 $ hg -R disallowaddedreq --config experimental.manifestv2=true --config experimental.treemanifest=true debugupgraderepo |
513d68a90398
repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30774
diff
changeset
|
50 abort: cannot upgrade repository; do not support adding requirement: manifestv2, treemanifest |
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 |
35336
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
57 $ hg debugformat |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
58 format-variant repo |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
59 fncache: yes |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
60 dotencode: yes |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
61 generaldelta: yes |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
62 plain-cl-delta: yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
63 compression: zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
64 $ hg debugformat --verbose |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
65 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
66 fncache: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
67 dotencode: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
68 generaldelta: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
69 plain-cl-delta: yes yes yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
70 compression: zlib zlib zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
71 $ hg debugformat --verbose --config format.usegfncache=no |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
72 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
73 fncache: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
74 dotencode: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
75 generaldelta: yes yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
76 plain-cl-delta: yes yes yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
77 compression: zlib zlib zlib |
35338
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
78 $ hg debugformat --verbose --config format.usegfncache=no --color=debug |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
79 format-variant repo config default |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
80 [formatvariant.name.uptodate|fncache: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
81 [formatvariant.name.uptodate|dotencode: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
82 [formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
83 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
84 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
85 $ hg debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
86 (no feature deficiencies found in existing repository) |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
87 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
|
88 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
89 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
90 preserved: dotencode, fncache, generaldelta, revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
91 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
92 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
|
93 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
94 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
95 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
|
96 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
97 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
98 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
|
99 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
100 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
101 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
|
102 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
103 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
104 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 "redeltaall" but even slower since more logic is involved. |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
105 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
106 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
107 --optimize can be used to add optimizations |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
108 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
109 $ hg debugupgrade --optimize redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
110 (no feature deficiencies found in existing repository) |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
111 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
|
112 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
113 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
114 preserved: dotencode, fncache, generaldelta, revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
115 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
116 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
117 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
|
118 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
119 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
|
120 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
121 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
122 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
|
123 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
124 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
125 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
|
126 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
127 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
128 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 "redeltaall" but even slower since more logic is involved. |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
129 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
130 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
131 Various sub-optimal detections work |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
132 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
133 $ cat > .hg/requires << EOF |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
134 > revlogv1 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
135 > store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
136 > EOF |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
137 |
35336
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
138 $ hg debugformat |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
139 format-variant repo |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
140 fncache: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
141 dotencode: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
142 generaldelta: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
143 plain-cl-delta: yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
144 compression: zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
145 $ hg debugformat --verbose |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
146 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
147 fncache: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
148 dotencode: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
149 generaldelta: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
150 plain-cl-delta: yes yes yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
151 compression: zlib zlib zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
152 $ hg debugformat --verbose --config format.usegeneraldelta=no |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
153 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
154 fncache: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
155 dotencode: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
156 generaldelta: no no yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
157 plain-cl-delta: yes yes yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
158 compression: zlib zlib zlib |
35338
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
159 $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
160 format-variant repo config default |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
161 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
162 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
163 [formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes] |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
164 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
165 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
166 $ hg debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
167 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
|
168 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
169 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
170 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
|
171 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
172 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
173 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
|
174 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
175 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
176 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
|
177 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
178 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
179 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
|
180 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
181 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
182 preserved: revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
183 added: dotencode, fncache, generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
184 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
185 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
186 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
|
187 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
188 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
189 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
|
190 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
191 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
192 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
|
193 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
194 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
|
195 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
196 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
197 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
|
198 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
199 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
200 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
|
201 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
202 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
203 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
|
204 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
205 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
206 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 "redeltaall" but even slower since more logic is involved. |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
207 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
208 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
209 $ hg --config format.dotencode=false debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
210 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
|
211 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
212 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
213 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
|
214 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
215 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
216 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
|
217 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
218 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
|
219 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
220 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
221 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
|
222 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
223 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
224 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
|
225 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
226 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
227 preserved: revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
228 added: fncache, generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
229 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
230 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
231 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
|
232 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
233 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
234 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
|
235 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
236 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
|
237 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
238 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
239 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
|
240 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
241 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
242 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
|
243 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
244 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
245 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
|
246 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
247 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
248 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 "redeltaall" but even slower since more logic is involved. |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
249 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
250 |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
251 $ cd .. |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
252 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
253 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
|
254 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
255 $ hg init modern |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
256 $ hg -R modern debugupgraderepo --run |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
257 upgrade will perform the following actions: |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
258 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
259 requirements |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
260 preserved: dotencode, fncache, generaldelta, revlogv1, store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
261 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
262 beginning upgrade... |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
263 repository locked and read-only |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
264 creating temporary repository to stage migrated data: $TESTTMP/modern/.hg/upgrade.* (glob) |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
265 (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
|
266 data fully migrated to temporary repository |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
267 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
|
268 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
|
269 replaced files will be backed up at $TESTTMP/modern/.hg/upgradebackup.* (glob) |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
270 replacing store... |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
271 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
|
272 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
|
273 removing temporary repository $TESTTMP/modern/.hg/upgrade.* (glob) |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
274 copy of old repository backed up at $TESTTMP/modern/.hg/upgradebackup.* (glob) |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
275 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
|
276 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
277 Upgrading a repository to generaldelta works |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
278 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
279 $ 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
|
280 $ cd upgradegd |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
281 $ touch f0 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
282 $ hg -q commit -A -m initial |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
283 $ touch f1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
284 $ 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
|
285 $ hg -q up -r 0 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
286 $ touch f2 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
287 $ 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
|
288 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
289 $ hg debugupgraderepo --run |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
290 upgrade will perform the following actions: |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
291 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
292 requirements |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
293 preserved: dotencode, fncache, revlogv1, store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
294 added: generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
295 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
296 generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
297 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
|
298 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
299 beginning upgrade... |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
300 repository locked and read-only |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
301 creating temporary repository to stage migrated data: $TESTTMP/upgradegd/.hg/upgrade.* (glob) |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
302 (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
|
303 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog) |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
304 migrating 341 bytes in store; 401 bytes tracked data |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
305 migrating 3 filelogs containing 3 revisions (0 bytes in store; 0 bytes tracked data) |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
306 finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
307 migrating 1 manifests containing 3 revisions (157 bytes in store; 220 bytes tracked data) |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
308 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
309 migrating changelog containing 3 revisions (184 bytes in store; 181 bytes tracked data) |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
310 finished migrating 3 changelog revisions; change in size: 0 bytes |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
311 finished migrating 9 total revisions; total change in store size: 0 bytes |
30780
2603d04889e1
repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30779
diff
changeset
|
312 copying phaseroots |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
313 data fully migrated to temporary repository |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
314 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
|
315 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
|
316 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
|
317 replacing store... |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
318 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
|
319 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
|
320 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
|
321 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
|
322 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
|
323 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
324 Original requirements backed up |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
325 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
326 $ cat .hg/upgradebackup.*/requires |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
327 dotencode |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
328 fncache |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
329 revlogv1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
330 store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
331 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
332 generaldelta added to original requirements files |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
333 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
334 $ cat .hg/requires |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
335 dotencode |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
336 fncache |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
337 generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
338 revlogv1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
339 store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
340 |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
341 store directory has files we expect |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
342 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
343 $ ls .hg/store |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
344 00changelog.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
345 00manifest.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
346 data |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
347 fncache |
30780
2603d04889e1
repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30779
diff
changeset
|
348 phaseroots |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
349 undo |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
350 undo.backupfiles |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
351 undo.phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
352 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
353 manifest should be generaldelta |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
354 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
355 $ hg debugrevlog -m | grep flags |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
356 flags : inline, generaldelta |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
357 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
358 verify should be happy |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
359 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
360 $ hg verify |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
361 checking changesets |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
362 checking manifests |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
363 crosschecking files in changesets and manifests |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
364 checking files |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
365 3 files, 3 changesets, 3 total revisions |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
366 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
367 old store should be backed up |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
368 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
369 $ ls .hg/upgradebackup.*/store |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
370 00changelog.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
371 00manifest.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
372 data |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
373 fncache |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
374 phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
375 undo |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
376 undo.backup.fncache |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
377 undo.backupfiles |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
378 undo.phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
379 |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
380 $ cd .. |
31798
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
381 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
382 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
|
383 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
384 $ hg init store-filenames |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
385 $ cd store-filenames |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
386 $ touch foo |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
387 $ hg -q commit -A -m initial |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
388 $ touch .hg/store/.XX_special_filename |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
389 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
390 $ hg debugupgraderepo --run |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
391 upgrade will perform the following actions: |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
392 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
393 requirements |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
394 preserved: dotencode, fncache, generaldelta, revlogv1, store |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
395 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
396 beginning upgrade... |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
397 repository locked and read-only |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
398 creating temporary repository to stage migrated data: $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
399 (it is safe to interrupt this process any time before data migration completes) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
400 migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
401 migrating 109 bytes in store; 107 bytes tracked data |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
402 migrating 1 filelogs containing 1 revisions (0 bytes in store; 0 bytes tracked data) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
403 finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
404 migrating 1 manifests containing 1 revisions (46 bytes in store; 45 bytes tracked data) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
405 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
406 migrating changelog containing 1 revisions (63 bytes in store; 62 bytes tracked data) |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
407 finished migrating 1 changelog revisions; change in size: 0 bytes |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
408 finished migrating 3 total revisions; total change in store size: 0 bytes |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
409 copying .XX_special_filename |
31799
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
410 copying phaseroots |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
411 data fully migrated to temporary repository |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
412 marking source repository as being upgraded; clients will be unable to read from repository |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
413 starting in-place swap of repository data |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
414 replaced files will be backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob) |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
415 replacing store... |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
416 store replacement complete; repository was inconsistent for *s (glob) |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
417 finalizing requirements file and making repository readable again |
31798
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
418 removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
31799
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
419 copy of old repository backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob) |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
420 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
421 $ hg debugupgraderepo --run --optimize redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
422 upgrade will perform the following actions: |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
423 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
424 requirements |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
425 preserved: dotencode, fncache, generaldelta, revlogv1, store |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
426 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
427 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
428 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:
35342
diff
changeset
|
429 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
430 beginning upgrade... |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
431 repository locked and read-only |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
432 creating temporary repository to stage migrated data: $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
433 (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:
35342
diff
changeset
|
434 migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
435 migrating 109 bytes in store; 107 bytes tracked data |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
436 migrating 1 filelogs containing 1 revisions (0 bytes in store; 0 bytes tracked data) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
437 finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
438 migrating 1 manifests containing 1 revisions (46 bytes in store; 45 bytes tracked data) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
439 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
440 migrating changelog containing 1 revisions (63 bytes in store; 62 bytes tracked data) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
441 finished migrating 1 changelog revisions; change in size: 0 bytes |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
442 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:
35342
diff
changeset
|
443 copying .XX_special_filename |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
444 copying phaseroots |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
445 data fully migrated to temporary repository |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
446 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:
35342
diff
changeset
|
447 starting in-place swap of repository data |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
448 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:
35342
diff
changeset
|
449 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
450 store replacement complete; repository was inconsistent for *s (glob) |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
451 finalizing requirements file and making repository readable again |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
452 removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
453 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:
35342
diff
changeset
|
454 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified |
31798
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
455 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
456 $ cd .. |
35303
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
457 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
458 Check upgrading a large file repository |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
459 --------------------------------------- |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
460 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
461 $ hg init largefilesrepo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
462 $ cat << EOF >> largefilesrepo/.hg/hgrc |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
463 > [extensions] |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
464 > largefiles = |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
465 > EOF |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
466 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
467 $ cd largefilesrepo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
468 $ touch foo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
469 $ hg add --large foo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
470 $ hg -q commit -m initial |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
471 $ cat .hg/requires |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
472 dotencode |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
473 fncache |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
474 generaldelta |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
475 largefiles |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
476 revlogv1 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
477 store |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
478 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
479 $ hg debugupgraderepo --run |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
480 upgrade will perform the following actions: |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
481 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
482 requirements |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
483 preserved: dotencode, fncache, generaldelta, largefiles, revlogv1, store |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
484 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
485 beginning upgrade... |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
486 repository locked and read-only |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
487 creating temporary repository to stage migrated data: $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
488 (it is safe to interrupt this process any time before data migration completes) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
489 migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
490 migrating 163 bytes in store; 160 bytes tracked data |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
491 migrating 1 filelogs containing 1 revisions (42 bytes in store; 41 bytes tracked data) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
492 finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
493 migrating 1 manifests containing 1 revisions (52 bytes in store; 51 bytes tracked data) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
494 finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
495 migrating changelog containing 1 revisions (69 bytes in store; 68 bytes tracked data) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
496 finished migrating 1 changelog revisions; change in size: 0 bytes |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
497 finished migrating 3 total revisions; total change in store size: 0 bytes |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
498 copying phaseroots |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
499 data fully migrated to temporary repository |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
500 marking source repository as being upgraded; clients will be unable to read from repository |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
501 starting in-place swap of repository data |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
502 replaced files will be backed up at $TESTTMP/largefilesrepo/.hg/upgradebackup.* (glob) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
503 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
504 store replacement complete; repository was inconsistent for *s (glob) |
35303
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
505 finalizing requirements file and making repository readable again |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
506 removing temporary repository $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
507 copy of old repository backed up at $TESTTMP/largefilesrepo/.hg/upgradebackup.* (glob) |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
508 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
509 $ cat .hg/requires |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
510 dotencode |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
511 fncache |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
512 generaldelta |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
513 largefiles |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
514 revlogv1 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
515 store |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
516 |
35361
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
517 $ cat << EOF >> .hg/hgrc |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
518 > [extensions] |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
519 > lfs = |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
520 > [lfs] |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
521 > threshold = 10 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
522 > EOF |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
523 $ echo '123456789012345' > lfs.bin |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
524 $ hg ci -Am 'lfs.bin' |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
525 adding lfs.bin |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
526 $ grep lfs .hg/requires |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
527 lfs |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
528 $ find .hg/store/lfs -type f |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
529 .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
530 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
531 $ hg debugupgraderepo --run |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
532 upgrade will perform the following actions: |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
533 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
534 requirements |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
535 preserved: dotencode, fncache, generaldelta, largefiles, lfs, revlogv1, store |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
536 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
537 beginning upgrade... |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
538 repository locked and read-only |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
539 creating temporary repository to stage migrated data: $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
540 (it is safe to interrupt this process any time before data migration completes) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
541 migrating 6 total revisions (2 in filelogs, 2 in manifests, 2 in changelog) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
542 migrating 417 bytes in store; 467 bytes tracked data |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
543 migrating 2 filelogs containing 2 revisions (168 bytes in store; 182 bytes tracked data) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
544 finished migrating 2 filelog revisions across 2 filelogs; change in size: 0 bytes |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
545 migrating 1 manifests containing 2 revisions (113 bytes in store; 151 bytes tracked data) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
546 finished migrating 2 manifest revisions across 1 manifests; change in size: 0 bytes |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
547 migrating changelog containing 2 revisions (136 bytes in store; 134 bytes tracked data) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
548 finished migrating 2 changelog revisions; change in size: 0 bytes |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
549 finished migrating 6 total revisions; total change in store size: 0 bytes |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
550 copying phaseroots |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
551 data fully migrated to temporary repository |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
552 marking source repository as being upgraded; clients will be unable to read from repository |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
553 starting in-place swap of repository data |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
554 replaced files will be backed up at $TESTTMP/largefilesrepo/.hg/upgradebackup.* (glob) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
555 replacing store... |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
556 store replacement complete; repository was inconsistent for *s (glob) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
557 finalizing requirements file and making repository readable again |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
558 removing temporary repository $TESTTMP/largefilesrepo/.hg/upgrade.* (glob) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
559 copy of old repository backed up at $TESTTMP/largefilesrepo/.hg/upgradebackup.* (glob) |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
560 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
561 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
562 $ grep lfs .hg/requires |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
563 lfs |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
564 TODO: restore the local lfs store. For now, objects are copied from the user |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
565 cache as needed. |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
566 $ find .hg/store/lfs -type f |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
567 find: `.hg/store/lfs': $ENOENT$ |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
568 [1] |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
569 $ hg verify |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
570 checking changesets |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
571 checking manifests |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
572 crosschecking files in changesets and manifests |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
573 checking files |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
574 2 files, 2 changesets, 2 total revisions |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
575 $ hg debugdata lfs.bin 0 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
576 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:
35360
diff
changeset
|
577 oid sha256:d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
578 size 16 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
579 x-is-binary 0 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
580 |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
581 $ cd .. |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
582 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
583 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:
35340
diff
changeset
|
584 ------------------------------------- |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
585 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
586 $ cat << EOF >> $HGRCPATH |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
587 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
588 > maxchainlen = 1 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
589 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
590 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
591 $ hg init localconfig |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
592 $ cd localconfig |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
593 $ cat << EOF > file |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
594 > some content |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
595 > with some length |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
596 > 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:
35340
diff
changeset
|
597 > after changes |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
598 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
599 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
600 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
601 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
602 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
603 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
604 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
605 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
606 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
607 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
608 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
609 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
610 $ 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:
35340
diff
changeset
|
611 $ echo "new line" >> file |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
612 $ hg -q commit -m B |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
613 $ echo "new line" >> file |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
614 $ hg -q commit -m C |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
615 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
616 $ cat << EOF >> .hg/hgrc |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
617 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
618 > maxchainlen = 9001 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
619 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
620 $ hg config format |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
621 format.maxchainlen=9001 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
622 $ hg debugindex file |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
623 rev offset length delta linkrev nodeid p1 p2 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
624 0 0 77 -1 0 bcc1d3df78b2 000000000000 000000000000 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
625 1 77 21 0 1 af3e29f7a72e bcc1d3df78b2 000000000000 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
626 2 98 84 -1 2 8daf79c5522b af3e29f7a72e 000000000000 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
627 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
628 $ hg debugupgraderepo --run --optimize redeltaall |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
629 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:
35340
diff
changeset
|
630 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
631 requirements |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
632 preserved: dotencode, fncache, generaldelta, revlogv1, store |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
633 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
634 redeltaall |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
635 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:
35340
diff
changeset
|
636 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
637 beginning upgrade... |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
638 repository locked and read-only |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
639 creating temporary repository to stage migrated data: $TESTTMP/localconfig/.hg/upgrade.* (glob) |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
640 (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:
35340
diff
changeset
|
641 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog) |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
642 migrating 497 bytes in store; 882 bytes tracked data |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
643 migrating 1 filelogs containing 3 revisions (182 bytes in store; 573 bytes tracked data) |
35342
75520786ad2f
upgrade: use the repository 'ui' as the base for the new repository
Boris Feld <boris.feld@octobus.net>
parents:
35341
diff
changeset
|
644 finished migrating 3 filelog revisions across 1 filelogs; change in size: -63 bytes |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
645 migrating 1 manifests containing 3 revisions (141 bytes in store; 138 bytes tracked data) |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
646 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
647 migrating changelog containing 3 revisions (174 bytes in store; 171 bytes tracked data) |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
648 finished migrating 3 changelog revisions; change in size: 0 bytes |
35342
75520786ad2f
upgrade: use the repository 'ui' as the base for the new repository
Boris Feld <boris.feld@octobus.net>
parents:
35341
diff
changeset
|
649 finished migrating 9 total revisions; total change in store size: -63 bytes |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
650 copying phaseroots |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
651 data fully migrated to temporary repository |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
652 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:
35340
diff
changeset
|
653 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:
35340
diff
changeset
|
654 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:
35340
diff
changeset
|
655 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
656 store replacement complete; repository was inconsistent for *s (glob) |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
657 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:
35340
diff
changeset
|
658 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:
35340
diff
changeset
|
659 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:
35340
diff
changeset
|
660 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
661 $ hg debugindex file |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
662 rev offset length delta linkrev nodeid p1 p2 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
663 0 0 77 -1 0 bcc1d3df78b2 000000000000 000000000000 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
664 1 77 21 0 1 af3e29f7a72e bcc1d3df78b2 000000000000 |
35342
75520786ad2f
upgrade: use the repository 'ui' as the base for the new repository
Boris Feld <boris.feld@octobus.net>
parents:
35341
diff
changeset
|
665 2 98 21 1 2 8daf79c5522b af3e29f7a72e 000000000000 |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
666 $ cd .. |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
667 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
668 $ cat << EOF >> $HGRCPATH |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
669 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
670 > maxchainlen = 9001 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
671 > EOF |