129 requirements |
129 requirements |
130 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
130 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
131 |
131 |
132 additional optimizations are available by specifying "--optimize <name>": |
132 additional optimizations are available by specifying "--optimize <name>": |
133 |
133 |
134 redeltaparent |
134 re-delta-parent |
135 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 |
135 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 |
136 |
136 |
137 redeltamultibase |
137 re-delta-multibase |
138 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 |
138 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 |
139 |
139 |
140 redeltaall |
140 re-delta-all |
141 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 |
141 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 |
142 |
142 |
143 redeltafulladd |
143 re-delta-fulladd |
144 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. |
144 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved. |
145 |
145 |
146 |
146 |
147 --optimize can be used to add optimizations |
147 --optimize can be used to add optimizations |
148 |
148 |
149 $ hg debugupgrade --optimize redeltaparent |
149 $ hg debugupgrade --optimize redeltaparent |
151 performing an upgrade with "--run" will make the following changes: |
151 performing an upgrade with "--run" will make the following changes: |
152 |
152 |
153 requirements |
153 requirements |
154 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
154 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
155 |
155 |
156 redeltaparent |
156 re-delta-parent |
157 deltas within internal storage will choose a new base revision if needed |
157 deltas within internal storage will choose a new base revision if needed |
158 |
158 |
159 additional optimizations are available by specifying "--optimize <name>": |
159 additional optimizations are available by specifying "--optimize <name>": |
160 |
160 |
161 redeltamultibase |
161 re-delta-multibase |
162 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 |
162 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 |
163 |
163 |
164 redeltaall |
164 re-delta-all |
165 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 |
165 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 |
166 |
166 |
167 redeltafulladd |
167 re-delta-fulladd |
168 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. |
168 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved. |
169 |
169 |
|
170 |
|
171 modern form of the option |
|
172 |
|
173 $ hg debugupgrade --optimize re-delta-parent |
|
174 (no feature deficiencies found in existing repository) |
|
175 performing an upgrade with "--run" will make the following changes: |
|
176 |
|
177 requirements |
|
178 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
|
179 |
|
180 re-delta-parent |
|
181 deltas within internal storage will choose a new base revision if needed |
|
182 |
|
183 additional optimizations are available by specifying "--optimize <name>": |
|
184 |
|
185 re-delta-multibase |
|
186 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 |
|
187 |
|
188 re-delta-all |
|
189 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 |
|
190 |
|
191 re-delta-fulladd |
|
192 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved. |
|
193 |
|
194 |
|
195 unknown optimization: |
|
196 |
|
197 $ hg debugupgrade --optimize foobar |
|
198 abort: unknown optimization action requested: foobar |
|
199 (run without arguments to see valid optimizations) |
|
200 [255] |
170 |
201 |
171 Various sub-optimal detections work |
202 Various sub-optimal detections work |
172 |
203 |
173 $ cat > .hg/requires << EOF |
204 $ cat > .hg/requires << EOF |
174 > revlogv1 |
205 > revlogv1 |
241 sparserevlog |
272 sparserevlog |
242 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. |
273 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. |
243 |
274 |
244 additional optimizations are available by specifying "--optimize <name>": |
275 additional optimizations are available by specifying "--optimize <name>": |
245 |
276 |
246 redeltaparent |
277 re-delta-parent |
247 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 |
278 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 |
248 |
279 |
249 redeltamultibase |
280 re-delta-multibase |
250 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 |
281 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 |
251 |
282 |
252 redeltaall |
283 re-delta-all |
253 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 |
284 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 |
254 |
285 |
255 redeltafulladd |
286 re-delta-fulladd |
256 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. |
287 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved. |
257 |
288 |
258 |
289 |
259 $ hg --config format.dotencode=false debugupgraderepo |
290 $ hg --config format.dotencode=false debugupgraderepo |
260 repository lacks features recommended by current config options: |
291 repository lacks features recommended by current config options: |
261 |
292 |
289 sparserevlog |
320 sparserevlog |
290 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. |
321 Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server. |
291 |
322 |
292 additional optimizations are available by specifying "--optimize <name>": |
323 additional optimizations are available by specifying "--optimize <name>": |
293 |
324 |
294 redeltaparent |
325 re-delta-parent |
295 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 |
326 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 |
296 |
327 |
297 redeltamultibase |
328 re-delta-multibase |
298 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 |
329 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 |
299 |
330 |
300 redeltaall |
331 re-delta-all |
301 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 |
332 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 |
302 |
333 |
303 redeltafulladd |
334 re-delta-fulladd |
304 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. |
335 every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved. |
305 |
336 |
306 |
337 |
307 $ cd .. |
338 $ cd .. |
308 |
339 |
309 Upgrading a repository that is already modern essentially no-ops |
340 Upgrading a repository that is already modern essentially no-ops |
478 upgrade will perform the following actions: |
509 upgrade will perform the following actions: |
479 |
510 |
480 requirements |
511 requirements |
481 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
512 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
482 |
513 |
483 redeltafulladd |
514 re-delta-fulladd |
484 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 |
515 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 |
485 |
516 |
486 beginning upgrade... |
517 beginning upgrade... |
487 repository locked and read-only |
518 repository locked and read-only |
488 creating temporary repository to stage migrated data: $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
519 creating temporary repository to stage migrated data: $TESTTMP/store-filenames/.hg/upgrade.* (glob) |
690 upgrade will perform the following actions: |
721 upgrade will perform the following actions: |
691 |
722 |
692 requirements |
723 requirements |
693 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
724 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store |
694 |
725 |
695 redeltaall |
726 re-delta-all |
696 deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time |
727 deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time |
697 |
728 |
698 beginning upgrade... |
729 beginning upgrade... |
699 repository locked and read-only |
730 repository locked and read-only |
700 creating temporary repository to stage migrated data: $TESTTMP/localconfig/.hg/upgrade.* (glob) |
731 creating temporary repository to stage migrated data: $TESTTMP/localconfig/.hg/upgrade.* (glob) |