D7772: resourceutil: don't limit resources to the `mercurial` package

mharbison72 (Matt Harbison) phabricator at mercurial-scm.org
Wed Jan 8 14:51:28 EST 2020


Closed by commit rHG52f0140c2604: resourceutil: don't limit resources to the `mercurial` package (authored by mharbison72).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7772?vs=19003&id=19101

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7772/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7772

AFFECTED FILES
  mercurial/help.py
  mercurial/utils/resourceutil.py

CHANGE DETAILS

diff --git a/mercurial/utils/resourceutil.py b/mercurial/utils/resourceutil.py
--- a/mercurial/utils/resourceutil.py
+++ b/mercurial/utils/resourceutil.py
@@ -35,6 +35,7 @@
     datapath = os.path.dirname(pycompat.sysexecutable)
 else:
     datapath = os.path.dirname(os.path.dirname(pycompat.fsencode(__file__)))
+    _rootpath = os.path.dirname(datapath)
 
 try:
     from importlib import resources
@@ -43,7 +44,6 @@
     resources.open_binary  # pytype: disable=module-attr
 
     def open_resource(package, name):
-        package = b'mercurial.' + package
         return resources.open_binary(  # pytype: disable=module-attr
             pycompat.sysstr(package), pycompat.sysstr(name)
         )
@@ -52,7 +52,7 @@
 except (ImportError, AttributeError):
 
     def _package_path(package):
-        return os.path.join(datapath, *package.split(b'.'))
+        return os.path.join(_rootpath, *package.split(b'.'))
 
     def open_resource(package, name):
         path = os.path.join(_package_path(package), name)
diff --git a/mercurial/help.py b/mercurial/help.py
--- a/mercurial/help.py
+++ b/mercurial/help.py
@@ -313,9 +313,9 @@
     """Return a delayed loader for help/topic.txt."""
 
     def loader(ui):
-        package = b'helptext'
+        package = b'mercurial.helptext'
         if subdir:
-            package = b'helptext' + b'.' + subdir
+            package += b'.' + subdir
         with resourceutil.open_resource(package, topic + b'.txt') as fp:
             doc = gettext(fp.read())
         for rewriter in helphooks.get(topic, []):



To: mharbison72, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list