D7434: util: move definition of datapath to resourceutil
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Nov 15 19:12:45 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Since this means moving the function into a subdirectory, we have to
compensate by adding another layer of os.path.dirname().
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D7434
AFFECTED FILES
mercurial/util.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
@@ -10,6 +10,7 @@
from __future__ import absolute_import
import imp
+import os
import sys
from .. import (
@@ -27,3 +28,11 @@
or pycompat.safehasattr(sys, "importers") # new py2exe
or imp.is_frozen("__main__") # old py2exe
) # tools/freeze
+
+
+# the location of data files matching the source code
+if mainfrozen() and getattr(sys, 'frozen', None) != 'macosx_app':
+ # executable version (py2exe) doesn't support __file__
+ datapath = os.path.dirname(pycompat.sysexecutable)
+else:
+ datapath = os.path.dirname(os.path.dirname(pycompat.fsencode(__file__)))
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1823,13 +1823,7 @@
return pycompat.ossep.join(([b'..'] * len(a)) + b) or b'.'
-# the location of data files matching the source code
-if resourceutil.mainfrozen() and getattr(sys, 'frozen', None) != 'macosx_app':
- # executable version (py2exe) doesn't support __file__
- datapath = os.path.dirname(pycompat.sysexecutable)
-else:
- datapath = os.path.dirname(pycompat.fsencode(__file__))
-
+datapath = resourceutil.datapath
i18n.setdatapath(datapath)
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list