[PATCH 3 of 5] setup: move environment computation into a helper function

Adam Simpkins simpkins at fb.com
Mon Jun 26 14:37:42 EDT 2017


# HG changeset patch
# User Adam Simpkins <simpkins at fb.com>
# Date 1498501890 25200
#      Mon Jun 26 11:31:30 2017 -0700
# Node ID f12d9578f43cc253f46a5dce2c7e288cac0fdada
# Parent  a687d5c7ac85481471d973aa06c6fd4b1dad91f0
setup: move environment computation into a helper function

Add a helper function to compute the environment used for invoking mercurial,
rather than doing this computation entirely at global scope.  This will make it
easier to do some subsequent refactoring.

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -165,20 +165,23 @@
         return ''
     return out
 
-version = ''
 
-# Execute hg out of this directory with a custom environment which takes care
-# to not use any hgrc files and do no localization.
-env = {'HGMODULEPOLICY': 'py',
-       'HGRCPATH': '',
-       'LANGUAGE': 'C',
-       'PATH': ''} # make pypi modules that use os.environ['PATH'] happy
-if 'LD_LIBRARY_PATH' in os.environ:
-    env['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH']
-if 'SystemRoot' in os.environ:
-    # SystemRoot is required by Windows to load various DLLs.  See:
-    # https://bugs.python.org/issue13524#msg148850
-    env['SystemRoot'] = os.environ['SystemRoot']
+def gethgenv():
+    # Execute hg out of this directory with a custom environment which takes
+    # care to not use any hgrc files and do no localization.
+    env = {'HGMODULEPOLICY': 'py',
+           'HGRCPATH': '',
+           'LANGUAGE': 'C',
+           'PATH': ''} # make pypi modules that use os.environ['PATH'] happy
+    if 'LD_LIBRARY_PATH' in os.environ:
+        env['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH']
+    if 'SystemRoot' in os.environ:
+        # SystemRoot is required by Windows to load various DLLs.  See:
+        # https://bugs.python.org/issue13524#msg148850
+        env['SystemRoot'] = os.environ['SystemRoot']
+
+env = gethgenv()
+version = ''
 
 if os.path.isdir('.hg'):
     cmd = [sys.executable, 'hg', 'log', '-r', '.', '--template', '{tags}\n']


More information about the Mercurial-devel mailing list