changeset 51040:7d66621c5349

revlog: skip opener options to pass compression option values We can directly set the option in the config object now.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 10 Oct 2023 10:03:34 +0200
parents 940445de2b09
children 683b96c416d8
files mercurial/localrepo.py mercurial/revlog.py
diffstat 2 files changed, 10 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/localrepo.py	Tue Oct 10 10:03:26 2023 +0200
+++ b/mercurial/localrepo.py	Tue Oct 10 10:03:34 2023 +0200
@@ -1151,16 +1151,18 @@
         if prefix(b'revlog-compression-') or prefix(b'exp-compression-'):
             feature_config.compression_engine = r.split(b'-', 2)[2]
 
-    options[b'zlib.level'] = ui.configint(b'storage', b'revlog.zlib.level')
-    if options[b'zlib.level'] is not None:
-        if not (0 <= options[b'zlib.level'] <= 9):
+    zlib_level = ui.configint(b'storage', b'revlog.zlib.level')
+    if zlib_level is not None:
+        if not (0 <= zlib_level <= 9):
             msg = _(b'invalid value for `storage.revlog.zlib.level` config: %d')
-            raise error.Abort(msg % options[b'zlib.level'])
-    options[b'zstd.level'] = ui.configint(b'storage', b'revlog.zstd.level')
-    if options[b'zstd.level'] is not None:
-        if not (0 <= options[b'zstd.level'] <= 22):
+            raise error.Abort(msg % zlib_level)
+    feature_config.compression_engine_options[b'zlib.level'] = zlib_level
+    zstd_level = ui.configint(b'storage', b'revlog.zstd.level')
+    if zstd_level is not None:
+        if not (0 <= zstd_level <= 22):
             msg = _(b'invalid value for `storage.revlog.zstd.level` config: %d')
-            raise error.Abort(msg % options[b'zstd.level'])
+            raise error.Abort(msg % zstd_level)
+    feature_config.compression_engine_options[b'zstd.level'] = zstd_level
 
     if requirementsmod.NARROW_REQUIREMENT in requirements:
         options[b'enableellipsis'] = True
--- a/mercurial/revlog.py	Tue Oct 10 10:03:26 2023 +0200
+++ b/mercurial/revlog.py	Tue Oct 10 10:03:34 2023 +0200
@@ -628,11 +628,6 @@
         else:
             new_header = REVLOG_DEFAULT_VERSION
 
-        comp_engine_opts = self.feature_config.compression_engine_options
-        if b'zlib.level' in opts:
-            comp_engine_opts[b'zlib.level'] = opts[b'zlib.level']
-        if b'zstd.level' in opts:
-            comp_engine_opts[b'zstd.level'] = opts[b'zstd.level']
         if self._mmaplargeindex and b'mmapindexthreshold' in opts:
             mmapindexthreshold = opts[b'mmapindexthreshold']
             self.data_config.mmap_index_threshold = mmapindexthreshold