py3: implement __bytes__ for committablectx
authorPulkit Goyal <7895pulkit@gmail.com>
Thu, 01 Jun 2017 02:25:18 +0530
changeset 32643 1df98fc923d4
parent 32642 c032e137e494
child 32644 01a95cbbff56
py3: implement __bytes__ for committablectx Before this method, calling bytes on workingctx or memctx calls basectx.__bytes__ since the magic method was not defined for this class. When it calls the method from basectx class, it returns TypeError because None is passed into it. After this commit `hg update -C` works on Python 3 if eol is not enabled.
mercurial/context.py
--- a/mercurial/context.py	Fri Jun 02 10:35:21 2017 +0530
+++ b/mercurial/context.py	Thu Jun 01 02:25:18 2017 +0530
@@ -1405,6 +1405,9 @@
     def __str__(self):
         return str(self._parents[0]) + r"+"
 
+    def __bytes__(self):
+        return bytes(self._parents[0]) + "+"
+
     def __nonzero__(self):
         return True