D5426: error: implement __str__ on RevlogError to fix some output defects on Py3

durin42 (Augie Fackler) phabricator at mercurial-scm.org
Fri Dec 14 12:30:59 EST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rHG248c53e169a0: error: implement __str__ on RevlogError to fix some output defects on Py3 (authored by durin42, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D5426?vs=12851&id=12854

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

AFFECTED FILES
  mercurial/error.py

CHANGE DETAILS

diff --git a/mercurial/error.py b/mercurial/error.py
--- a/mercurial/error.py
+++ b/mercurial/error.py
@@ -44,6 +44,14 @@
 class RevlogError(StorageError):
     __bytes__ = _tobytes
 
+    def __str__(self):
+        # avoid cycle, and directly implement unimethod for this
+        # __str__ to allow delaying the import of encoding until
+        # someone actually wants the __str__ of a RevlogError (which
+        # should be very rare).
+        from . import encoding
+        return encoding.unifromlocal(_tobytes(self))
+
 class FilteredIndexError(IndexError):
     __bytes__ = _tobytes
 



To: durin42, #hg-reviewers, pulkit
Cc: mercurial-devel


More information about the Mercurial-devel mailing list