diff mercurial/localrepo.py @ 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
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