Patchwork [4,of,9,py3,v3] context: implement both __bytes__ and __str__ for Python 3

login
register
mail settings
Submitter Augie Fackler
Date March 12, 2017, 5:59 p.m.
Message ID <beead9d5be6f5fe44de5.1489341552@augie-macbookair2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/19193/
State Accepted
Headers show

Comments

Augie Fackler - March 12, 2017, 5:59 p.m.
# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1489283860 18000
#      Sat Mar 11 20:57:40 2017 -0500
# Node ID beead9d5be6f5fe44de55d277462e52284584819
# Parent  c4a50c84504fe6eaae95915f401e9d6826e4d19f
context: implement both __bytes__ and __str__ for Python 3

They're very similar, for obvious reasons.

Patch

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -65,6 +65,12 @@  class basectx(object):
         return o
 
     def __str__(self):
+        r = short(self.node())
+        if pycompat.ispy3:
+            return r.decode('ascii')
+        return r
+
+    def __bytes__(self):
         return short(self.node())
 
     def __int__(self):