D4475: setup: don't support py 3.5.0, 3.5.1, 3.5.2 because of bug in codecs

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Tue Sep 4 20:12:17 UTC 2018


pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4475

AFFECTED FILES
  setup.py

CHANGE DETAILS

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -11,6 +11,9 @@
     # Mercurial will never work on Python 3 before 3.5 due to a lack
     # of % formatting on bytestrings, and can't work on 3.6.0 or 3.6.1
     # due to a bug in % formatting in bytestrings.
+    # We cannot support Python 3.5.0, 3.5.1, 3.5.2 because of bug in
+    # codecs.escape_encode() where it raises SystemError on empty bytestring
+    # bug link: https://bugs.python.org/issue25270
     #
     # TODO: when we actually work on Python 3, use this string as the
     # actual supportedpy string.
@@ -21,6 +24,9 @@
         '!=3.2.*',
         '!=3.3.*',
         '!=3.4.*',
+        '!=3.5.0',
+        '!=3.5.1',
+        '!=3.5.2',
         '!=3.6.0',
         '!=3.6.1',
     ])



To: pulkit, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list