--- a/mercurial/utils/resourceutil.py Thu Nov 14 11:52:22 2019 -0800
+++ b/mercurial/utils/resourceutil.py Thu Nov 14 12:33:10 2019 -0800
@@ -10,6 +10,7 @@
from __future__ import absolute_import
import imp
+import os
import sys
from .. import pycompat
@@ -26,3 +27,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__)))