Patchwork D8089: py3: __repr__ needs to return str, not bytes

login
register
mail settings
Submitter phabricator
Date Feb. 6, 2020, 10:21 p.m.
Message ID <b9555fcddc9d86112e21e33d9e74ad58@localhost.localdomain>
Download mbox | patch
Permalink /patch/45009/
State Not Applicable
Headers show

Comments

phabricator - Feb. 6, 2020, 10:21 p.m.
Closed by commit rHGc443b9ba6f63: py3: __repr__ needs to return str, not bytes (authored by spectral).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8089?vs=19965&id=19969

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8089/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8089

AFFECTED FILES
  mercurial/bundle2.py
  mercurial/linelog.py
  mercurial/manifest.py
  mercurial/patch.py

CHANGE DETAILS




To: spectral, #hg-reviewers, marmoute
Cc: mharbison72, marmoute, mercurial-devel

Patch

diff --git a/mercurial/patch.py b/mercurial/patch.py
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1090,6 +1090,7 @@ 
     def filename(self):
         return self.header.filename()
 
+    @encoding.strmethod
     def __repr__(self):
         return b'<hunk %r@%d>' % (self.filename(), self.fromline)
 
diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -21,6 +21,7 @@ 
 )
 from .pycompat import getattr
 from . import (
+    encoding,
     error,
     mdiff,
     pathutil,
@@ -867,9 +868,10 @@ 
         self._loadalllazy()
         return not self._dirs or all(m._isempty() for m in self._dirs.values())
 
+    @encoding.strmethod
     def __repr__(self):
         return (
-            b'<treemanifest dir=%s, node=%s, loaded=%s, dirty=%s at 0x%x>'
+            b'<treemanifest dir=%s, node=%s, loaded=%r, dirty=%r at 0x%x>'
             % (
                 self._dir,
                 hex(self._node),
diff --git a/mercurial/linelog.py b/mercurial/linelog.py
--- a/mercurial/linelog.py
+++ b/mercurial/linelog.py
@@ -255,7 +255,7 @@ 
         )
 
     def __repr__(self):
-        return b'<linelog at %s: maxrev=%d size=%d>' % (
+        return '<linelog at %s: maxrev=%d size=%d>' % (
             hex(id(self)),
             self._maxrev,
             len(self._program),
diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
--- a/mercurial/bundle2.py
+++ b/mercurial/bundle2.py
@@ -1013,6 +1013,7 @@ 
         self._generated = None
         self.mandatory = mandatory
 
+    @encoding.strmethod
     def __repr__(self):
         cls = b"%s.%s" % (self.__class__.__module__, self.__class__.__name__)
         return b'<%s object at %x; id: %s; type: %s; mandatory: %s>' % (