hgweb: fix the MRO in Python 3
authorMartijn Pieters <mjpieters@fb.com>
Sat, 08 Oct 2016 19:11:19 +0200
changeset 30082 ebc03e64548a
parent 30081 dd0ff715a82c
child 30083 bd1f043d1ea3
hgweb: fix the MRO in Python 3 object should appear at the end, otherwise it tries to pre-empt the other new-style classes in the MRO, resulting in an unresolvable MRO in Py3. We still need to include object because otherwise in 2.7 we end up with an old-style class if threading is not supported, new-style if it is.
mercurial/hgweb/server.py
--- a/mercurial/hgweb/server.py	Sat Oct 08 16:10:34 2016 +0100
+++ b/mercurial/hgweb/server.py	Sat Oct 08 19:11:19 2016 +0200
@@ -263,7 +263,7 @@
         return open(opt, 'a')
     return default
 
-class MercurialHTTPServer(object, _mixin, httpservermod.httpserver):
+class MercurialHTTPServer(_mixin, httpservermod.httpserver, object):
 
     # SO_REUSEADDR has broken semantics on windows
     if os.name == 'nt':