Mercurial > hg
annotate tests/test-upgrade-repo.t @ 35767:5f5fb279fd39
streamclone: also stream caches to the client
When stream clone is used over bundle2, relevant cache files are also streamed.
This is expected to be a massive performance win for clone since no important
cache will have to be recomputed.
Some performance numbers:
(All times are wall-clock times in seconds, 2 attempts per case.)
# Mozilla-Central
## Clone over ssh over lan
V1 streaming: 234.3 239.6
V2 streaming: 248.4 243.7
## Clone over ssh over Internet
V1 streaming: 175.5 110.9
V2 streaming: 109.1 111.0
## Clone over HTTP over lan
V1 streaming: 105.3 105.6
V2 streaming: 112.7 111.4
## Clone over HTTP over internet
V1 streaming: 105.6 114.6
V2 streaming: 226.7 225.9
## Hg tags
V1 streaming (no cache): 1.084 1.071
V2 streaming (cache): 0.312 0.325
## Hg branches
V1 streaming (no cache): 14.047 14.148
V2 streaming (with cache): 0.312 0.333
# Pypy
## Clone over ssh over internet
V1 streaming: 29.4 30.1
V2 streaming: 31.2 30.1
## Clone over http over internet
V1 streaming: 29.7 29.7
V2 streaming: 75.2 72.9
(since ssh and lan are not affected, there seems to be an issue with how we
read/write the http stream on connection with latency, unrelated to the format)
## Hg tags
V1 streaming (no cache): 1.752 1.664
V2 streaming (with cache): 0.274 0.260
## Hg branches
V1 streaming (no cache): 4.469 4.728
V2 streaming (with cache): 0.318 0.321
# Private repository:
* 500K revision revisions
* 11K topological heads
* 28K branch heads
## hg tags
no cache: 1543.332
with cache: 4.900
## hg branches
no cache: 91.828
with cache: 2.955
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 18 Jan 2018 00:50:12 +0100 |
parents | 9144e898cad5 |
children | 0147a4730420 |
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] |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
85 $ hg debugformat -Tjson |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
86 [ |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
87 { |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
88 "config": true, |
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
89 "default": true, |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
90 "name": "fncache", |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
91 "repo": true |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
92 }, |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
93 { |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
94 "config": true, |
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
95 "default": true, |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
96 "name": "dotencode", |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
97 "repo": true |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
98 }, |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
99 { |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
100 "config": true, |
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
101 "default": true, |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
102 "name": "generaldelta", |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
103 "repo": true |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
104 }, |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
105 { |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
106 "config": true, |
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
107 "default": true, |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
108 "name": "plain-cl-delta", |
35378
9144e898cad5
debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents:
35377
diff
changeset
|
109 "repo": true |
35377
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
110 }, |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
111 { |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
112 "config": "zlib", |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
113 "default": "zlib", |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
114 "name": "compression", |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
115 "repo": "zlib" |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
116 } |
c0b6fa74e007
debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents:
35363
diff
changeset
|
117 ] |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
118 $ hg debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
119 (no feature deficiencies found in existing repository) |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
120 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
|
121 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
122 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
123 preserved: dotencode, fncache, generaldelta, revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
124 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
125 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
|
126 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
127 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
128 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
|
129 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
130 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
131 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
|
132 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
133 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
134 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
|
135 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
136 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
137 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
|
138 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
139 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
140 --optimize can be used to add optimizations |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
141 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
142 $ hg debugupgrade --optimize redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
143 (no feature deficiencies found in existing repository) |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
144 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
|
145 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
146 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
147 preserved: dotencode, fncache, generaldelta, revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
148 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
149 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
150 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
|
151 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
152 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
|
153 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
154 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
155 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
|
156 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
157 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
158 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
|
159 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
160 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
161 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
|
162 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
163 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
164 Various sub-optimal detections work |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
165 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
166 $ cat > .hg/requires << EOF |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
167 > revlogv1 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
168 > store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
169 > EOF |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
170 |
35336
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
171 $ hg debugformat |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
172 format-variant repo |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
173 fncache: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
174 dotencode: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
175 generaldelta: no |
c3e4f196b6e0
debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents:
35303
diff
changeset
|
176 plain-cl-delta: yes |
35340
ead01b74be04
upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net>
parents:
35338
diff
changeset
|
177 compression: zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
178 $ hg debugformat --verbose |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
179 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
180 fncache: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
181 dotencode: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
182 generaldelta: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
183 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
|
184 compression: zlib zlib zlib |
35337
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
185 $ 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
|
186 format-variant repo config default |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
187 fncache: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
188 dotencode: no yes yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
189 generaldelta: no no yes |
cfb403b92f43
debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents:
35336
diff
changeset
|
190 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
|
191 compression: zlib zlib zlib |
35338
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
192 $ 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
|
193 format-variant repo config default |
bd326f3e0e14
debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents:
35337
diff
changeset
|
194 [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
|
195 [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
|
196 [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
|
197 [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
|
198 [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
|
199 $ hg debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
200 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
|
201 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
202 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
203 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
|
204 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
205 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
206 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
|
207 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
208 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
209 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
|
210 |
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 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
|
213 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
214 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
215 preserved: revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
216 added: dotencode, fncache, generaldelta |
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 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
219 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
|
220 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
221 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
222 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
|
223 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
224 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
225 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
|
226 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
227 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
|
228 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
229 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
230 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
|
231 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
232 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
233 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
|
234 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
235 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
236 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
|
237 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
238 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
239 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
|
240 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
241 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
242 $ hg --config format.dotencode=false debugupgraderepo |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
243 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
|
244 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
245 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
246 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
|
247 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
248 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
249 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
|
250 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
251 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
|
252 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
253 dotencode |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
254 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
|
255 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
256 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
257 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
|
258 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
259 requirements |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
260 preserved: revlogv1, store |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
261 added: fncache, generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
262 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
263 fncache |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
264 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
|
265 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
266 generaldelta |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
267 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
|
268 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
269 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
|
270 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
271 redeltaparent |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
272 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
|
273 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
274 redeltamultibase |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
275 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
|
276 |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
277 redeltaall |
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
278 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
|
279 |
35345
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
280 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
281 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
|
282 |
30776
3997edc4a86d
repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30775
diff
changeset
|
283 |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
284 $ cd .. |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
285 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
286 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
|
287 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
288 $ hg init modern |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
289 $ hg -R modern 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, generaldelta, revlogv1, store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
294 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
295 beginning upgrade... |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
296 repository locked and read-only |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
297 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
|
298 (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
|
299 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
|
300 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
|
301 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
|
302 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
|
303 replacing store... |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
304 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
|
305 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
|
306 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
|
307 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
|
308 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
|
309 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
310 Upgrading a repository to generaldelta works |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
311 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
312 $ 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
|
313 $ cd upgradegd |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
314 $ touch f0 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
315 $ hg -q commit -A -m initial |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
316 $ touch f1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
317 $ 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
|
318 $ hg -q up -r 0 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
319 $ touch f2 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
320 $ 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
|
321 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
322 $ hg debugupgraderepo --run |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
323 upgrade will perform the following actions: |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
324 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
325 requirements |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
326 preserved: dotencode, fncache, revlogv1, store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
327 added: generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
328 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
329 generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
330 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
|
331 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
332 beginning upgrade... |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
333 repository locked and read-only |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
334 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
|
335 (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
|
336 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
|
337 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
|
338 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
|
339 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
|
340 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
|
341 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
|
342 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
|
343 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
|
344 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
|
345 copying phaseroots |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
346 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
|
347 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
|
348 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
|
349 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
|
350 replacing store... |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
351 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
|
352 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
|
353 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
|
354 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
|
355 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
|
356 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
357 Original requirements backed up |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
358 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
359 $ cat .hg/upgradebackup.*/requires |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
360 dotencode |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
361 fncache |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
362 revlogv1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
363 store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
364 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
365 generaldelta added to original requirements files |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
366 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
367 $ cat .hg/requires |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
368 dotencode |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
369 fncache |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
370 generaldelta |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
371 revlogv1 |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
372 store |
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
373 |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
374 store directory has files we expect |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
375 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
376 $ ls .hg/store |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
377 00changelog.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
378 00manifest.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
379 data |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
380 fncache |
30780
2603d04889e1
repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30779
diff
changeset
|
381 phaseroots |
30779
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
382 undo |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
383 undo.backupfiles |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
384 undo.phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
385 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
386 manifest should be generaldelta |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
387 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
388 $ hg debugrevlog -m | grep flags |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
389 flags : inline, generaldelta |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
390 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
391 verify should be happy |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
392 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
393 $ hg verify |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
394 checking changesets |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
395 checking manifests |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
396 crosschecking files in changesets and manifests |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
397 checking files |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
398 3 files, 3 changesets, 3 total revisions |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
399 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
400 old store should be backed up |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
401 |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
402 $ ls .hg/upgradebackup.*/store |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
403 00changelog.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
404 00manifest.i |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
405 data |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
406 fncache |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
407 phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
408 undo |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
409 undo.backup.fncache |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
410 undo.backupfiles |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
411 undo.phaseroots |
38aa1ca97b6a
repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30777
diff
changeset
|
412 |
30777
7de7afd8bdd9
repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30776
diff
changeset
|
413 $ cd .. |
31798
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
414 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
415 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
|
416 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
417 $ hg init store-filenames |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
418 $ cd store-filenames |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
419 $ touch foo |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
420 $ hg -q commit -A -m initial |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
421 $ touch .hg/store/.XX_special_filename |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
422 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
423 $ hg debugupgraderepo --run |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
424 upgrade will perform the following actions: |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
425 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
426 requirements |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
427 preserved: dotencode, fncache, generaldelta, revlogv1, store |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
428 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
429 beginning upgrade... |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
430 repository locked and read-only |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
431 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
|
432 (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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 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
|
438 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
|
439 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
|
440 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
|
441 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
|
442 copying .XX_special_filename |
31799
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
443 copying phaseroots |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 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
|
448 replacing store... |
8110d49e0558
repair: use rawvfs when copying extra store files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31798
diff
changeset
|
449 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
|
450 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
|
451 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
|
452 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
|
453 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
|
454 $ hg debugupgraderepo --run --optimize redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
455 upgrade will perform the following actions: |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
456 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
457 requirements |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
458 preserved: dotencode, fncache, generaldelta, revlogv1, store |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
459 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
460 redeltafulladd |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
461 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
|
462 |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
463 beginning upgrade... |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
464 repository locked and read-only |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
465 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
|
466 (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
|
467 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
|
468 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
|
469 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
|
470 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
|
471 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
|
472 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
|
473 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
|
474 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
|
475 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
|
476 copying .XX_special_filename |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
477 copying phaseroots |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
478 data fully migrated to temporary repository |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
479 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
|
480 starting in-place swap of repository data |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
481 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
|
482 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
483 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
|
484 finalizing requirements file and making repository readable again |
6226668a7169
upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents:
35342
diff
changeset
|
485 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
|
486 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
|
487 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
|
488 |
8c9178d647f7
tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30781
diff
changeset
|
489 $ cd .. |
35303
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
490 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
491 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
|
492 --------------------------------------- |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
493 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
494 $ hg init largefilesrepo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
495 $ 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
|
496 > [extensions] |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
497 > largefiles = |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
498 > EOF |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
499 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
500 $ cd largefilesrepo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
501 $ touch foo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
502 $ hg add --large foo |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
503 $ 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
|
504 $ cat .hg/requires |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
505 dotencode |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
506 fncache |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
507 generaldelta |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
508 largefiles |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
509 revlogv1 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
510 store |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
511 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
512 $ hg debugupgraderepo --run |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
513 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
|
514 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
515 requirements |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
516 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
|
517 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
518 beginning upgrade... |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
519 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
|
520 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
|
521 (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
|
522 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
|
523 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
|
524 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
|
525 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
|
526 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
|
527 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
|
528 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
|
529 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
|
530 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
|
531 copying phaseroots |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
532 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
|
533 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
|
534 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
|
535 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
|
536 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
537 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
|
538 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
|
539 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
|
540 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
|
541 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
|
542 $ cat .hg/requires |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
543 dotencode |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
544 fncache |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
545 generaldelta |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
546 largefiles |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
547 revlogv1 |
67b7e39b441b
largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents:
31799
diff
changeset
|
548 store |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
549 |
35361
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
550 $ 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
|
551 > [extensions] |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
552 > lfs = |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
553 > [lfs] |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
554 > threshold = 10 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
555 > EOF |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
556 $ 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
|
557 $ 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
|
558 adding lfs.bin |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
559 $ 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
|
560 lfs |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
561 $ 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
|
562 .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
|
563 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
564 $ hg debugupgraderepo --run |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
565 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
|
566 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
567 requirements |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
568 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
|
569 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
570 beginning upgrade... |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
571 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
|
572 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
|
573 (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
|
574 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
|
575 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
|
576 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
|
577 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
|
578 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
|
579 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
|
580 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
|
581 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
|
582 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
|
583 copying phaseroots |
35363
b0ba1539af01
lfs: restore the local blob store after a repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35361
diff
changeset
|
584 copying lfs blob d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f |
35361
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
585 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
|
586 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
|
587 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
|
588 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
|
589 replacing store... |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
590 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
|
591 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
|
592 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
|
593 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
|
594 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
|
595 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
596 $ 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
|
597 lfs |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
598 $ find .hg/store/lfs -type f |
35363
b0ba1539af01
lfs: restore the local blob store after a repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35361
diff
changeset
|
599 .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f |
35361
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
600 $ hg verify |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
601 checking changesets |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
602 checking manifests |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
603 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
|
604 checking files |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
605 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
|
606 $ 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
|
607 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
|
608 oid sha256:d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
609 size 16 |
b2f628dd99c3
tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents:
35360
diff
changeset
|
610 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
|
611 |
35341
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
612 $ cd .. |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
613 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
614 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
|
615 ------------------------------------- |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
616 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
617 $ 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
|
618 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
619 > maxchainlen = 1 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
620 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
621 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
622 $ 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
|
623 $ cd localconfig |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
624 $ 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
|
625 > some content |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
626 > 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
|
627 > 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
|
628 > after changes |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
629 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
630 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
631 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
632 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
633 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
634 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
635 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
636 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
637 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
638 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
639 > very long |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
640 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
641 $ 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
|
642 $ 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
|
643 $ 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
|
644 $ 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
|
645 $ 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
|
646 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
647 $ 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
|
648 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
649 > maxchainlen = 9001 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
650 > EOF |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
651 $ 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
|
652 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
|
653 $ 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
|
654 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
|
655 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
|
656 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
|
657 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
|
658 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
659 $ 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
|
660 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
|
661 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
662 requirements |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
663 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
|
664 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
665 redeltaall |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
666 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
|
667 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
668 beginning upgrade... |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
669 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
|
670 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
|
671 (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
|
672 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
|
673 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
|
674 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
|
675 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
|
676 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
|
677 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
|
678 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
|
679 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
|
680 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
|
681 copying phaseroots |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
682 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
|
683 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
|
684 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
|
685 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
|
686 replacing store... |
35360
6699825f1242
test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents:
35345
diff
changeset
|
687 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
|
688 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
|
689 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
|
690 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
|
691 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
|
692 $ 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
|
693 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
|
694 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
|
695 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
|
696 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
|
697 $ cd .. |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
698 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
699 $ 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
|
700 > [format] |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
701 > maxchainlen = 9001 |
cb7a0ae053c6
upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents:
35340
diff
changeset
|
702 > EOF |