##// END OF EJS Templates
sparse-revlog: enabled by default...
Boris Feld -
r40954:3764330f default
parent child Browse files
Show More
@@ -694,7 +694,7 b" coreconfigitem('format', 'obsstore-versi"
694 default=None,
694 default=None,
695 )
695 )
696 coreconfigitem('format', 'sparse-revlog',
696 coreconfigitem('format', 'sparse-revlog',
697 default=False,
697 default=True,
698 )
698 )
699 coreconfigitem('format', 'usefncache',
699 coreconfigitem('format', 'usefncache',
700 default=True,
700 default=True,
@@ -269,7 +269,7 b' class sparserevlog(requirementformatvari'
269
269
270 _requirement = localrepo.SPARSEREVLOG_REQUIREMENT
270 _requirement = localrepo.SPARSEREVLOG_REQUIREMENT
271
271
272 default = False
272 default = True
273
273
274 description = _('in order to limit disk reading and memory usage on older '
274 description = _('in order to limit disk reading and memory usage on older '
275 'version, the span of a delta chain from its root to its '
275 'version, the span of a delta chain from its root to its '
@@ -56,7 +56,7 b' An upgrade of a repository created with '
56 fncache: yes
56 fncache: yes
57 dotencode: yes
57 dotencode: yes
58 generaldelta: yes
58 generaldelta: yes
59 sparserevlog: no
59 sparserevlog: yes
60 plain-cl-delta: yes
60 plain-cl-delta: yes
61 compression: zlib
61 compression: zlib
62 $ hg debugformat --verbose
62 $ hg debugformat --verbose
@@ -64,7 +64,7 b' An upgrade of a repository created with '
64 fncache: yes yes yes
64 fncache: yes yes yes
65 dotencode: yes yes yes
65 dotencode: yes yes yes
66 generaldelta: yes yes yes
66 generaldelta: yes yes yes
67 sparserevlog: no no no
67 sparserevlog: yes yes yes
68 plain-cl-delta: yes yes yes
68 plain-cl-delta: yes yes yes
69 compression: zlib zlib zlib
69 compression: zlib zlib zlib
70 $ hg debugformat --verbose --config format.usefncache=no
70 $ hg debugformat --verbose --config format.usefncache=no
@@ -72,7 +72,7 b' An upgrade of a repository created with '
72 fncache: yes no yes
72 fncache: yes no yes
73 dotencode: yes no yes
73 dotencode: yes no yes
74 generaldelta: yes yes yes
74 generaldelta: yes yes yes
75 sparserevlog: no no no
75 sparserevlog: yes yes yes
76 plain-cl-delta: yes yes yes
76 plain-cl-delta: yes yes yes
77 compression: zlib zlib zlib
77 compression: zlib zlib zlib
78 $ hg debugformat --verbose --config format.usefncache=no --color=debug
78 $ hg debugformat --verbose --config format.usefncache=no --color=debug
@@ -80,7 +80,7 b' An upgrade of a repository created with '
80 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
80 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
81 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
81 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes]
82 [formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
82 [formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
83 [formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
83 [formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
84 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
84 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
85 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib]
85 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib]
86 $ hg debugformat -Tjson
86 $ hg debugformat -Tjson
@@ -104,10 +104,10 b' An upgrade of a repository created with '
104 "repo": true
104 "repo": true
105 },
105 },
106 {
106 {
107 "config": false,
107 "config": true,
108 "default": false,
108 "default": true,
109 "name": "sparserevlog",
109 "name": "sparserevlog",
110 "repo": false
110 "repo": true
111 },
111 },
112 {
112 {
113 "config": true,
113 "config": true,
@@ -127,7 +127,7 b' An upgrade of a repository created with '
127 performing an upgrade with "--run" will make the following changes:
127 performing an upgrade with "--run" will make the following changes:
128
128
129 requirements
129 requirements
130 preserved: dotencode, fncache, generaldelta, revlogv1, 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
@@ -151,7 +151,7 b' An upgrade of a repository created with '
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, store
154 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
155
155
156 redeltaparent
156 redeltaparent
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
@@ -188,7 +188,7 b' Various sub-optimal detections work'
188 fncache: no yes yes
188 fncache: no yes yes
189 dotencode: no yes yes
189 dotencode: no yes yes
190 generaldelta: no yes yes
190 generaldelta: no yes yes
191 sparserevlog: no no no
191 sparserevlog: no yes yes
192 plain-cl-delta: yes yes yes
192 plain-cl-delta: yes yes yes
193 compression: zlib zlib zlib
193 compression: zlib zlib zlib
194 $ hg debugformat --verbose --config format.usegeneraldelta=no
194 $ hg debugformat --verbose --config format.usegeneraldelta=no
@@ -196,7 +196,7 b' Various sub-optimal detections work'
196 fncache: no yes yes
196 fncache: no yes yes
197 dotencode: no yes yes
197 dotencode: no yes yes
198 generaldelta: no no yes
198 generaldelta: no no yes
199 sparserevlog: no no no
199 sparserevlog: no no yes
200 plain-cl-delta: yes yes yes
200 plain-cl-delta: yes yes yes
201 compression: zlib zlib zlib
201 compression: zlib zlib zlib
202 $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug
202 $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug
@@ -204,7 +204,7 b' Various sub-optimal detections work'
204 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
204 [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
205 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
205 [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes]
206 [formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
206 [formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
207 [formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
207 [formatvariant.name.mismatchdefault|sparserevlog: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
208 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
208 [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
209 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib]
209 [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib]
210 $ hg debugupgraderepo
210 $ hg debugupgraderepo
@@ -219,12 +219,15 b' Various sub-optimal detections work'
219 generaldelta
219 generaldelta
220 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
220 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
221
221
222 sparserevlog
223 in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
224
222
225
223 performing an upgrade with "--run" will make the following changes:
226 performing an upgrade with "--run" will make the following changes:
224
227
225 requirements
228 requirements
226 preserved: revlogv1, store
229 preserved: revlogv1, store
227 added: dotencode, fncache, generaldelta
230 added: dotencode, fncache, generaldelta, sparserevlog
228
231
229 fncache
232 fncache
230 repository will be more resilient to storing certain paths and performance of certain operations should be improved
233 repository will be more resilient to storing certain paths and performance of certain operations should be improved
@@ -235,6 +238,9 b' Various sub-optimal detections work'
235 generaldelta
238 generaldelta
236 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
239 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
237
240
241 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.
243
238 additional optimizations are available by specifying "--optimize <name>":
244 additional optimizations are available by specifying "--optimize <name>":
239
245
240 redeltaparent
246 redeltaparent
@@ -259,6 +265,9 b' Various sub-optimal detections work'
259 generaldelta
265 generaldelta
260 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
266 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
261
267
268 sparserevlog
269 in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
270
262 repository lacks features used by the default config options:
271 repository lacks features used by the default config options:
263
272
264 dotencode
273 dotencode
@@ -269,7 +278,7 b' Various sub-optimal detections work'
269
278
270 requirements
279 requirements
271 preserved: revlogv1, store
280 preserved: revlogv1, store
272 added: fncache, generaldelta
281 added: fncache, generaldelta, sparserevlog
273
282
274 fncache
283 fncache
275 repository will be more resilient to storing certain paths and performance of certain operations should be improved
284 repository will be more resilient to storing certain paths and performance of certain operations should be improved
@@ -277,6 +286,9 b' Various sub-optimal detections work'
277 generaldelta
286 generaldelta
278 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
287 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
279
288
289 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.
291
280 additional optimizations are available by specifying "--optimize <name>":
292 additional optimizations are available by specifying "--optimize <name>":
281
293
282 redeltaparent
294 redeltaparent
@@ -301,7 +313,7 b' Upgrading a repository that is already m'
301 upgrade will perform the following actions:
313 upgrade will perform the following actions:
302
314
303 requirements
315 requirements
304 preserved: dotencode, fncache, generaldelta, revlogv1, store
316 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
305
317
306 beginning upgrade...
318 beginning upgrade...
307 repository locked and read-only
319 repository locked and read-only
@@ -435,7 +447,7 b" store files with special filenames aren'"
435 upgrade will perform the following actions:
447 upgrade will perform the following actions:
436
448
437 requirements
449 requirements
438 preserved: dotencode, fncache, generaldelta, revlogv1, store
450 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
439
451
440 beginning upgrade...
452 beginning upgrade...
441 repository locked and read-only
453 repository locked and read-only
@@ -466,7 +478,7 b" store files with special filenames aren'"
466 upgrade will perform the following actions:
478 upgrade will perform the following actions:
467
479
468 requirements
480 requirements
469 preserved: dotencode, fncache, generaldelta, revlogv1, store
481 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
470
482
471 redeltafulladd
483 redeltafulladd
472 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
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
@@ -523,13 +535,14 b' Check upgrading a large file repository'
523 generaldelta
535 generaldelta
524 largefiles
536 largefiles
525 revlogv1
537 revlogv1
538 sparserevlog
526 store
539 store
527
540
528 $ hg debugupgraderepo --run
541 $ hg debugupgraderepo --run
529 upgrade will perform the following actions:
542 upgrade will perform the following actions:
530
543
531 requirements
544 requirements
532 preserved: dotencode, fncache, generaldelta, largefiles, revlogv1, store
545 preserved: dotencode, fncache, generaldelta, largefiles, revlogv1, sparserevlog, store
533
546
534 beginning upgrade...
547 beginning upgrade...
535 repository locked and read-only
548 repository locked and read-only
@@ -561,6 +574,7 b' Check upgrading a large file repository'
561 generaldelta
574 generaldelta
562 largefiles
575 largefiles
563 revlogv1
576 revlogv1
577 sparserevlog
564 store
578 store
565
579
566 $ cat << EOF >> .hg/hgrc
580 $ cat << EOF >> .hg/hgrc
@@ -581,7 +595,7 b' Check upgrading a large file repository'
581 upgrade will perform the following actions:
595 upgrade will perform the following actions:
582
596
583 requirements
597 requirements
584 preserved: dotencode, fncache, generaldelta, largefiles, lfs, revlogv1, store
598 preserved: dotencode, fncache, generaldelta, largefiles, lfs, revlogv1, sparserevlog, store
585
599
586 beginning upgrade...
600 beginning upgrade...
587 repository locked and read-only
601 repository locked and read-only
@@ -667,16 +681,16 b' repository config is taken in account'
667 $ hg config format
681 $ hg config format
668 format.maxchainlen=9001
682 format.maxchainlen=9001
669 $ hg debugdeltachain file
683 $ hg debugdeltachain file
670 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio
684 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
671 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000
685 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000 77 77 1.00000 1
672 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000
686 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000 98 98 1.00000 1
673 2 2 1 -1 base 84 200 84 0.42000 84 0 0.00000
687 2 1 2 0 other 30 200 107 0.53500 128 21 0.19626 128 128 0.83594 1
674
688
675 $ hg debugupgraderepo --run --optimize redeltaall
689 $ hg debugupgraderepo --run --optimize redeltaall
676 upgrade will perform the following actions:
690 upgrade will perform the following actions:
677
691
678 requirements
692 requirements
679 preserved: dotencode, fncache, generaldelta, revlogv1, store
693 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
680
694
681 redeltaall
695 redeltaall
682 deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
696 deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
@@ -686,14 +700,14 b' repository config is taken in account'
686 creating temporary repository to stage migrated data: $TESTTMP/localconfig/.hg/upgrade.* (glob)
700 creating temporary repository to stage migrated data: $TESTTMP/localconfig/.hg/upgrade.* (glob)
687 (it is safe to interrupt this process any time before data migration completes)
701 (it is safe to interrupt this process any time before data migration completes)
688 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
702 migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
689 migrating 1.05 KB in store; 882 bytes tracked data
703 migrating 1019 bytes in store; 882 bytes tracked data
690 migrating 1 filelogs containing 3 revisions (374 bytes in store; 573 bytes tracked data)
704 migrating 1 filelogs containing 3 revisions (320 bytes in store; 573 bytes tracked data)
691 finished migrating 3 filelog revisions across 1 filelogs; change in size: -63 bytes
705 finished migrating 3 filelog revisions across 1 filelogs; change in size: -9 bytes
692 migrating 1 manifests containing 3 revisions (333 bytes in store; 138 bytes tracked data)
706 migrating 1 manifests containing 3 revisions (333 bytes in store; 138 bytes tracked data)
693 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
707 finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
694 migrating changelog containing 3 revisions (366 bytes in store; 171 bytes tracked data)
708 migrating changelog containing 3 revisions (366 bytes in store; 171 bytes tracked data)
695 finished migrating 3 changelog revisions; change in size: 0 bytes
709 finished migrating 3 changelog revisions; change in size: 0 bytes
696 finished migrating 9 total revisions; total change in store size: -63 bytes
710 finished migrating 9 total revisions; total change in store size: -9 bytes
697 copying phaseroots
711 copying phaseroots
698 data fully migrated to temporary repository
712 data fully migrated to temporary repository
699 marking source repository as being upgraded; clients will be unable to read from repository
713 marking source repository as being upgraded; clients will be unable to read from repository
@@ -706,10 +720,10 b' repository config is taken in account'
706 copy of old repository backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
720 copy of old repository backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
707 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
721 the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
708 $ hg debugdeltachain file
722 $ hg debugdeltachain file
709 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio
723 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
710 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000
724 0 1 1 -1 base 77 182 77 0.42308 77 0 0.00000 77 77 1.00000 1
711 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000
725 1 1 2 0 p1 21 191 98 0.51309 98 0 0.00000 98 98 1.00000 1
712 2 1 3 1 p1 21 200 119 0.59500 119 0 0.00000
726 2 1 3 1 p1 21 200 119 0.59500 119 0 0.00000 119 119 1.00000 1
713 $ cd ..
727 $ cd ..
714
728
715 $ cat << EOF >> $HGRCPATH
729 $ cat << EOF >> $HGRCPATH
General Comments 0
You need to be logged in to leave comments. Login now