# HG changeset patch # User Matt Harbison # Date 2021-03-11 22:27:31 # Node ID 8408c3198ec1bdb83caffc0ee278f23f15654b15 # Parent 7e02e7c721b043bd7b25125521f00c36e74a920b debug: convert a few exceptions to bytes before wrapping in another error Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2118, in debugmanifestfulltextcache: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, message: Union[bytearray, bytes, memoryview], ...) Actually passed: (self, message: mercurial.error.LookupError, ...) File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2453, in debugobsolete: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: ValueError) The following methods aren't implemented on ValueError: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10174 diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -2041,7 +2041,9 @@ def debugmanifestfulltextcache(ui, repo, try: manifest = m[store.lookup(n)] except error.LookupError as e: - raise error.Abort(e, hint=b"Check your manifest node id") + raise error.Abort( + bytes(e), hint=b"Check your manifest node id" + ) manifest.read() # stores revisision in cache too return @@ -2376,7 +2378,7 @@ def debugobsolete(ui, repo, precursor=No tr.close() except ValueError as exc: raise error.Abort( - _(b'bad obsmarker input: %s') % pycompat.bytestr(exc) + _(b'bad obsmarker input: %s') % stringutil.forcebytestr(exc) ) finally: tr.release()