changeset 51817:adbfbbf9963f

shelve: consistently convert exception to bytes via `stringutil.forcebytestr` The other two places in this module use this, and past experience shows that this method does a nicer job. I'm not sure why we're converting to bytes here- `KeyError` is built-in and will have str attrs, and `RepoLookupError` is a subclass of the built-in `Exception` class (not `errors.Error`, which is allegedly the baseclass for all Mercurial exceptions).
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 20 Aug 2024 22:47:11 -0400
parents a1a94d488e14
children 438f4fca513e
files mercurial/shelve.py
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/shelve.py	Tue Aug 20 22:34:51 2024 -0400
+++ b/mercurial/shelve.py	Tue Aug 20 22:47:11 2024 -0400
@@ -391,7 +391,7 @@
                 obj.activebookmark = d.get(b'activebook', b'')
             obj.interactive = d.get(b'interactive') == cls._interactive
         except (error.RepoLookupError, KeyError) as err:
-            raise error.CorruptedState(pycompat.bytestr(err))
+            raise error.CorruptedState(stringutil.forcebytestr(err))
 
         return obj