Mercurial > hg
changeset 8629:8e69a22f6792
setup: execute hg in C locale
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Tue, 26 May 2009 22:02:10 +0200 |
parents | 4dd06ab9217c |
children | 8ff65f7e3273 |
files | setup.py |
diffstat | 1 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/setup.py Tue May 26 21:13:21 2009 +0200 +++ b/setup.py Tue May 26 22:02:10 2009 +0200 @@ -100,17 +100,18 @@ version = None if os.path.isdir('.hg'): - # execute hg out of this directory with a custom environment which - # includes the pure Python modules in mercurial/pure - pypath = os.environ.get('PYTHONPATH', '') - purepath = os.path.join('mercurial', 'pure') - os.environ['PYTHONPATH'] = os.pathsep.join(['mercurial', purepath, pypath]) - os.environ['HGRCPATH'] = '' # do not read any config file + # Execute hg out of this directory with a custom environment which + # includes the pure Python modules in mercurial/pure. We also take + # care to not use any hgrc files and do no localization. + pypath = ['mercurial', os.path.join('mercurial', 'pure')] + env = {'PYTHONPATH': os.pathsep.join(pypath), + 'HGRCPATH': '', + 'LANGUAGE': 'C'} cmd = [sys.executable, 'hg', 'id', '-i', '-t'] - out, err = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.PIPE).communicate() - os.environ['PYTHONPATH'] = pypath + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env) + out, err = p.communicate() # If root is executing setup.py, but the repository is owned by # another user (as in "sudo python setup.py install") we will get