# HG changeset patch # User Mads Kiilerich # Date 1476407019 -7200 # Node ID 75c71c53397782679aa746dca71c535c27da7551 # Parent b7a966ce89ed9c68867b05d89ae7d3ab4b085468 demandimport: disable lazy import of __builtin__ Demandimport uses the "try to import __builtin__, else use builtins" trick to handle Python 3. External libraries and extensions might do something similar. On Fedora 25 subversion-python-1.9.4-4.fc25.x86_64 will do just that (except the opposite) ... and it failed all subversion convert tests because demandimport was hiding that it didn't have builtins but should use __builtin__. The builtin module has already been imported when demandimport is loaded so there is no point in trying to import it on demand. Just always ignore both variants in demandimport. diff -r b7a966ce89ed -r 75c71c533977 mercurial/demandimport.py --- a/mercurial/demandimport.py Thu Oct 13 12:50:27 2016 +0200 +++ b/mercurial/demandimport.py Fri Oct 14 03:03:39 2016 +0200 @@ -291,6 +291,8 @@ 'sqlalchemy.events', # has import-time side effects (issue5085) # setuptools 8 expects this module to explode early when not on windows 'distutils.msvc9compiler', + '__builtin__', + 'builtins', ] if _pypy: