changeset 53071:b774a20fe6b4

policy: make `importrust` only import from PyO3 The switch is not needed anymore now that hg-cpython will be removed.
author Raphaël Gomès <rgomes@octobus.net>
date Mon, 03 Mar 2025 11:46:34 +0100
parents 1fc16b440c17
children 75081dd0212c
files mercurial/copies.py mercurial/dirstate.py mercurial/dirstatemap.py mercurial/localrepo.py mercurial/match.py mercurial/merge.py mercurial/pathutil.py mercurial/policy.py mercurial/revlog.py mercurial/scmutil.py mercurial/setdiscovery.py tests/test-rust-discovery.py
diffstat 12 files changed, 16 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/copies.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/copies.py	Mon Mar 03 11:46:34 2025 +0100
@@ -28,7 +28,7 @@
     sidedata as sidedatamod,
 )
 
-rustmod = policy.importrust("copy_tracing", pyo3=True)
+rustmod = policy.importrust("copy_tracing")
 
 
 def _filter(src, dst, t):
--- a/mercurial/dirstate.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/dirstate.py	Mon Mar 03 11:46:34 2025 +0100
@@ -54,7 +54,7 @@
 )
 
 parsers = policy.importmod('parsers')
-rustmod = policy.importrust('dirstate', pyo3=True)
+rustmod = policy.importrust('dirstate')
 
 HAS_FAST_DIRSTATE_V2 = rustmod is not None
 
--- a/mercurial/dirstatemap.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/dirstatemap.py	Mon Mar 03 11:46:34 2025 +0100
@@ -36,7 +36,7 @@
     )
 
 parsers = policy.importmod('parsers')
-rustmod = policy.importrust('dirstate', pyo3=True)
+rustmod = policy.importrust('dirstate')
 
 propertycache = util.propertycache
 
--- a/mercurial/localrepo.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/localrepo.py	Mon Mar 03 11:46:34 2025 +0100
@@ -3804,9 +3804,7 @@
         requirements.add(requirementsmod.BOOKMARKS_IN_STORE_REQUIREMENT)
 
     # The feature is disabled unless a fast implementation is available.
-    persistent_nodemap_default = (
-        policy.importrust('revlog', pyo3=True) is not None
-    )
+    persistent_nodemap_default = policy.importrust('revlog') is not None
     if ui.configbool(
         b'format', b'use-persistent-nodemap', persistent_nodemap_default
     ):
--- a/mercurial/match.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/match.py	Mon Mar 03 11:46:34 2025 +0100
@@ -41,7 +41,7 @@
     matcher as int_matcher,
 )
 
-rustmod = policy.importrust('dirstate', pyo3=True)
+rustmod = policy.importrust('dirstate')
 
 allpatternkinds = (
     b're',
--- a/mercurial/merge.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/merge.py	Mon Mar 03 11:46:34 2025 +0100
@@ -53,7 +53,7 @@
     """The merge action, data about the merge, and message about the merge, for
     the keyed file."""
 
-rust_update_mod = policy.importrust("update", pyo3=True)
+rust_update_mod = policy.importrust("update")
 
 _pack = struct.pack
 _unpack = struct.unpack
@@ -1844,7 +1844,7 @@
         b'fsmonitor', b'warn_update_file_count'
     )
     # avoid cycle dirstate -> sparse -> merge -> dirstate
-    dirstate_rustmod = policy.importrust("dirstate", pyo3=True)
+    dirstate_rustmod = policy.importrust("dirstate")
 
     if dirstate_rustmod is not None:
         # When using rust status, fsmonitor becomes necessary at higher sizes
--- a/mercurial/pathutil.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/pathutil.py	Mon Mar 03 11:46:34 2025 +0100
@@ -24,7 +24,7 @@
 
 from .interfaces import misc as int_misc
 
-rustdirs = policy.importrust('dirstate', 'Dirs', pyo3=True)
+rustdirs = policy.importrust('dirstate', 'Dirs')
 parsers = policy.importmod('parsers')
 
 
--- a/mercurial/policy.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/policy.py	Mon Mar 03 11:46:34 2025 +0100
@@ -132,9 +132,7 @@
     return policy.endswith(b'-allow')
 
 
-def importrust(
-    modname: str, member: Optional[str] = None, default=None, pyo3=False
-):
+def importrust(modname: str, member: Optional[str] = None, default=None):
     """Import Rust module according to policy and availability.
 
     If policy isn't a Rust one, this returns `default`.
@@ -145,7 +143,7 @@
     if not policy.startswith(b'rust'):
         return default
 
-    dlib_name = "pyo3_rustext" if pyo3 else "rustext"
+    dlib_name = "pyo3_rustext"
 
     try:
         mod = _importfrom(dlib_name, modname)
--- a/mercurial/revlog.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/revlog.py	Mon Mar 03 11:46:34 2025 +0100
@@ -136,9 +136,9 @@
 REVIDX_RAWTEXT_CHANGING_FLAGS
 
 parsers = policy.importmod('parsers')
-rustancestor = policy.importrust('ancestor', pyo3=True)
-rustdagop = policy.importrust('dagop', pyo3=True)
-rustrevlog = policy.importrust('revlog', pyo3=True)
+rustancestor = policy.importrust('ancestor')
+rustdagop = policy.importrust('dagop')
+rustrevlog = policy.importrust('revlog')
 
 # Aliased for performance.
 _zlibdecompress = zlib.decompress
--- a/mercurial/scmutil.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/scmutil.py	Mon Mar 03 11:46:34 2025 +0100
@@ -83,7 +83,7 @@
     )
 
 parsers = policy.importmod('parsers')
-rustrevlog = policy.importrust('revlog', pyo3=True)
+rustrevlog = policy.importrust('revlog')
 
 termsize = scmplatform.termsize
 
--- a/mercurial/setdiscovery.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/mercurial/setdiscovery.py	Mon Mar 03 11:46:34 2025 +0100
@@ -276,7 +276,7 @@
 pure_partialdiscovery = partialdiscovery
 
 partialdiscovery = policy.importrust(
-    'discovery', member='PartialDiscovery', default=partialdiscovery, pyo3=True
+    'discovery', member='PartialDiscovery', default=partialdiscovery
 )
 
 
--- a/tests/test-rust-discovery.py	Mon Mar 03 11:38:58 2025 +0100
+++ b/tests/test-rust-discovery.py	Mon Mar 03 11:46:34 2025 +0100
@@ -3,9 +3,7 @@
 from mercurial import policy
 from mercurial.testing import revlog as revlogtesting
 
-PartialDiscovery = policy.importrust(
-    'discovery', member='PartialDiscovery', pyo3=True
-)
+PartialDiscovery = policy.importrust('discovery', member='PartialDiscovery')
 
 try:
     from mercurial.cext import parsers as cparsers