safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:20:46 +0100
changeset 50556 7b0cc86c5d74
parent 50555 b0e3f1508a25
child 50557 6e749d4abf05
safehasattr: pass attribute name as string instead of bytes This is a step toward replacing `util.safehasattr` usage with plain `hasattr`. The builtin function behave poorly in Python2 but this was fixed in Python3. These change are done one by one as they tend to have a small odd to trigger puzzling breackage.
mercurial/cmdutil.py
--- a/mercurial/cmdutil.py	Thu Feb 02 17:19:55 2023 +0100
+++ b/mercurial/cmdutil.py	Thu Feb 02 17:20:46 2023 +0100
@@ -1450,7 +1450,7 @@
         if returnrevlog:
             if isinstance(r, revlog.revlog):
                 pass
-            elif util.safehasattr(r, b'_revlog'):
+            elif util.safehasattr(r, '_revlog'):
                 r = r._revlog  # pytype: disable=attribute-error
             elif r is not None:
                 raise error.InputError(