comparison setup.py @ 39572:b6b9488aae4c

setup: don't support py 3.5.0, 3.5.1, 3.5.2 because of bug in codecs codecs.escape_encode() raises SystemError if an empty bytestring is passed. We do that at some places in our code and because of this bug, things break. Therefore we can't support the mentioned version. The bug was fixed in 3.5.3, 3.6.0 beta 2. We can't support 3.6.0 anyway because of bug in formatting bytestrings. Link to the python bug: https://bugs.python.org/issue25270 Differential Revision: https://phab.mercurial-scm.org/D4475
author Pulkit Goyal <pulkit@yandex-team.ru>
date Wed, 05 Sep 2018 01:18:29 +0530
parents 729082bb9938
children ec68135a8935
comparison
equal deleted inserted replaced
39571:8f2c0d1b454c 39572:b6b9488aae4c
9 supportedpy = '~= 2.7' 9 supportedpy = '~= 2.7'
10 if os.environ.get('HGALLOWPYTHON3', ''): 10 if os.environ.get('HGALLOWPYTHON3', ''):
11 # Mercurial will never work on Python 3 before 3.5 due to a lack 11 # Mercurial will never work on Python 3 before 3.5 due to a lack
12 # of % formatting on bytestrings, and can't work on 3.6.0 or 3.6.1 12 # of % formatting on bytestrings, and can't work on 3.6.0 or 3.6.1
13 # due to a bug in % formatting in bytestrings. 13 # due to a bug in % formatting in bytestrings.
14 # We cannot support Python 3.5.0, 3.5.1, 3.5.2 because of bug in
15 # codecs.escape_encode() where it raises SystemError on empty bytestring
16 # bug link: https://bugs.python.org/issue25270
14 # 17 #
15 # TODO: when we actually work on Python 3, use this string as the 18 # TODO: when we actually work on Python 3, use this string as the
16 # actual supportedpy string. 19 # actual supportedpy string.
17 supportedpy = ','.join([ 20 supportedpy = ','.join([
18 '>=2.7', 21 '>=2.7',
19 '!=3.0.*', 22 '!=3.0.*',
20 '!=3.1.*', 23 '!=3.1.*',
21 '!=3.2.*', 24 '!=3.2.*',
22 '!=3.3.*', 25 '!=3.3.*',
23 '!=3.4.*', 26 '!=3.4.*',
27 '!=3.5.0',
28 '!=3.5.1',
29 '!=3.5.2',
24 '!=3.6.0', 30 '!=3.6.0',
25 '!=3.6.1', 31 '!=3.6.1',
26 ]) 32 ])
27 33
28 import sys, platform 34 import sys, platform