From afc175578fd4309bec14bdfc0e6a8d03f607d7c6 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 11 Mar 2018 01:50:32 -0600 Subject: [PATCH] Add numpy's env construction to find_git_revision --- pytools/__init__.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pytools/__init__.py b/pytools/__init__.py index f831c3e..90f8911 100644 --- a/pytools/__init__.py +++ b/pytools/__init__.py @@ -1988,10 +1988,24 @@ def find_git_revision(tree_root): if not exists(join(tree_root, ".git")): return None + # construct minimal environment + # stolen from + # https://github.com/numpy/numpy/blob/055ce3e90b50b5f9ef8cf1b8641c42e391f10735/setup.py#L70-L92 + import os + env = {} + for k in ['SYSTEMROOT', 'PATH', 'HOME']: + v = os.environ.get(k) + if v is not None: + env[k] = v + # LANGUAGE is used on win32 + env['LANGUAGE'] = 'C' + env['LANG'] = 'C' + env['LC_ALL'] = 'C' + from subprocess import Popen, PIPE, STDOUT p = Popen(["git", "rev-parse", "HEAD"], shell=False, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True, - cwd=tree_root) + cwd=tree_root, env=env) (git_rev, _) = p.communicate() import sys -- GitLab