##// END OF EJS Templates
compression: introduce an official `format.revlog-compression` option...
marmoute -
r42213:4ee906aa default
parent child Browse files
Show More
@@ -553,9 +553,6 b" coreconfigitem('experimental', 'extended"
553 553 coreconfigitem('experimental', 'extendedheader.similarity',
554 554 default=False,
555 555 )
556 coreconfigitem('experimental', 'format.compression',
557 default='zlib',
558 )
559 556 coreconfigitem('experimental', 'graphshorten',
560 557 default=False,
561 558 )
@@ -684,6 +681,10 b" coreconfigitem('format', 'obsstore-versi"
684 681 coreconfigitem('format', 'sparse-revlog',
685 682 default=True,
686 683 )
684 coreconfigitem('format', 'revlog-compression',
685 default='zlib',
686 alias=[('experimental', 'format.compression')]
687 )
687 688 coreconfigitem('format', 'usefncache',
688 689 default=True,
689 690 )
@@ -866,6 +866,13 b' https://www.mercurial-scm.org/wiki/Missi'
866 866 Repositories with this on-disk format require Mercurial version 4.7
867 867
868 868 Enabled by default.
869 ``revlog-compression``
870 Compression algorithm used by revlog. Supported value are `zlib` and `zstd`.
871 The `zlib` engine is the historical default of Mercurial. `zstd` is a newer
872 format that is usually a net win over `zlib` operating faster at better
873 compression rate. Use `zstd` to reduce CPU usage.
874
875 On some system, Mercurial installation may lack `zstd` supports. Default is `zlib`.
869 876
870 877 ``graph``
871 878 ---------
@@ -2920,10 +2920,10 b' def newreporequirements(ui, createopts):'
2920 2920 if ui.configbool('format', 'dotencode'):
2921 2921 requirements.add('dotencode')
2922 2922
2923 compengine = ui.config('experimental', 'format.compression')
2923 compengine = ui.config('format', 'revlog-compression')
2924 2924 if compengine not in util.compengines:
2925 2925 raise error.Abort(_('compression engine %s defined by '
2926 'experimental.format.compression not available') %
2926 'format.revlog-compression not available') %
2927 2927 compengine,
2928 2928 hint=_('run "hg debuginstall" to list available '
2929 2929 'compression engines'))
@@ -332,7 +332,7 b' class compressionengine(formatvariant):'
332 332
333 333 @classmethod
334 334 def fromconfig(cls, repo):
335 return repo.ui.config('experimental', 'format.compression')
335 return repo.ui.config('format', 'revlog-compression')
336 336
337 337 @registerformatvariant
338 338 class compressionlevel(formatvariant):
@@ -21,8 +21,8 b' A new repository uses zlib storage, whic'
21 21
22 22 Unknown compression engine to format.compression aborts
23 23
24 $ hg --config experimental.format.compression=unknown init unknown
25 abort: compression engine unknown defined by experimental.format.compression not available
24 $ hg --config format.revlog-compression=unknown init unknown
25 abort: compression engine unknown defined by format.revlog-compression not available
26 26 (run "hg debuginstall" to list available compression engines)
27 27 [255]
28 28
@@ -40,7 +40,7 b' A requirement specifying an unknown comp'
40 40
41 41 #if zstd
42 42
43 $ hg --config experimental.format.compression=zstd init zstd
43 $ hg --config format.revlog-compression=zstd init zstd
44 44 $ cd zstd
45 45 $ cat .hg/requires
46 46 dotencode
@@ -66,7 +66,7 b' with that engine or a requirement'
66 66
67 67 $ cd default
68 68 $ touch bar
69 $ hg --config experimental.format.compression=zstd -q commit -A -m 'add bar with a lot of repeated repeated repeated text'
69 $ hg --config format.revlog-compression=zstd -q commit -A -m 'add bar with a lot of repeated repeated repeated text'
70 70
71 71 $ cat .hg/requires
72 72 dotencode
@@ -141,13 +141,13 b' Test error cases'
141 141 checking zstd options
142 142 =====================
143 143
144 $ hg init zstd-level-default --config experimental.format.compression=zstd
145 $ hg init zstd-level-1 --config experimental.format.compression=zstd
144 $ hg init zstd-level-default --config format.revlog-compression=zstd
145 $ hg init zstd-level-1 --config format.revlog-compression=zstd
146 146 $ cat << EOF >> zstd-level-1/.hg/hgrc
147 147 > [storage]
148 148 > revlog.zstd.level=1
149 149 > EOF
150 $ hg init zstd-level-22 --config experimental.format.compression=zstd
150 $ hg init zstd-level-22 --config format.revlog-compression=zstd
151 151 $ cat << EOF >> zstd-level-22/.hg/hgrc
152 152 > [storage]
153 153 > revlog.zstd.level=22
@@ -172,7 +172,7 b' checking zstd options'
172 172
173 173 Test error cases
174 174
175 $ hg init zstd-level-invalid --config experimental.format.compression=zstd
175 $ hg init zstd-level-invalid --config format.revlog-compression=zstd
176 176 $ cat << EOF >> zstd-level-invalid/.hg/hgrc
177 177 > [storage]
178 178 > revlog.zstd.level=foobar
@@ -182,7 +182,7 b' Test error cases'
182 182 abort: storage.revlog.zstd.level is not a valid integer ('foobar')
183 183 [255]
184 184
185 $ hg init zstd-level-out-of-range --config experimental.format.compression=zstd
185 $ hg init zstd-level-out-of-range --config format.revlog-compression=zstd
186 186 $ cat << EOF >> zstd-level-out-of-range/.hg/hgrc
187 187 > [storage]
188 188 > revlog.zstd.level=42
General Comments 0
You need to be logged in to leave comments. Login now