[PATCH] hgweb: fix the MRO in Python 3
Martijn Pieters
mj at zopatista.com
Sat Oct 8 17:12:31 UTC 2016
# HG changeset patch
# User Martijn Pieters <mjpieters at fb.com>
# Date 1475946679 -7200
# Sat Oct 08 19:11:19 2016 +0200
# Node ID 8475a954a40385035b57abe05af31308597a0b3c
# Parent 2c8ec8c2ddfeb2d229b81eb5b11e3639fb34b0a0
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.
diff --git a/mercurial/hgweb/server.py b/mercurial/hgweb/server.py
--- a/mercurial/hgweb/server.py
+++ b/mercurial/hgweb/server.py
@@ -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':
More information about the Mercurial-devel
mailing list