Mercurial > hg
changeset 38721:dbbe45ae5ad1
setup: allow to run setup.py with python 3 without a mercurial checkout
Some people may want to test mercurial in a python 3 environment through e.g.
pip, in which case setup.py doesn't run in a mercurial checkout, so the hack
in setup.py to allow python 3 cannot be overcome.
This change allows a manual override with the HGPYTHON3 environment variable.
Additionally, when for some reason the version is unknown (for crazy people
like me, who have a git checkout of the mercurial repo), the version variable
ends up being an unicode string, which fails the `isinstance(version, bytes)`
assertion. So fix that at the same time.
Differential Revision: https://phab.mercurial-scm.org/D3958
author | Mike Hommey <mh@glandium.org> |
---|---|
date | Mon, 16 Jul 2018 17:47:58 -0700 |
parents | d12415b8f833 |
children | 2009d84f245a |
files | setup.py |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/setup.py Thu Jun 21 18:05:55 2018 +0200 +++ b/setup.py Mon Jul 16 17:47:58 2018 -0700 @@ -74,7 +74,7 @@ badpython = True # Allow Python 3 from source checkouts. - if os.path.isdir('.hg'): + if os.path.isdir('.hg') or 'HGPYTHON3' in os.environ: badpython = False if badpython: @@ -369,7 +369,7 @@ from mercurial import __version__ version = __version__.version except ImportError: - version = 'unknown' + version = b'unknown' finally: if oldpolicy is None: del os.environ['HGMODULEPOLICY']