--- a/mercurial/pycompat.py Sun Aug 14 12:44:13 2016 +0900
+++ b/mercurial/pycompat.py Sun Aug 14 12:51:21 2016 +0900
@@ -31,8 +31,22 @@
if sys.version_info[0] >= 3:
import builtins
+ import functools
builtins.xrange = range
+ def _wrapattrfunc(f):
+ @functools.wraps(f)
+ def w(object, name, *args):
+ if isinstance(name, bytes):
+ name = name.decode(u'utf-8')
+ return f(object, name, *args)
+ return w
+
+ delattr = _wrapattrfunc(builtins.delattr)
+ getattr = _wrapattrfunc(builtins.getattr)
+ hasattr = _wrapattrfunc(builtins.hasattr)
+ setattr = _wrapattrfunc(builtins.setattr)
+
stringio = io.StringIO
empty = _queue.Empty
queue = _queue.Queue