safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:34:48 +0100
changeset 50595 9096b00fd881
parent 50594 8b605d19cb6f
child 50596 4a60280b5653
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/scmutil.py
--- a/mercurial/scmutil.py	Thu Feb 02 17:34:33 2023 +0100
+++ b/mercurial/scmutil.py	Thu Feb 02 17:34:48 2023 +0100
@@ -234,7 +234,7 @@
         ui.error(_(b"abort: error: %s\n") % stringutil.forcebytestr(reason))
     except (IOError, OSError) as inst:
         if (
-            util.safehasattr(inst, b"args")
+            util.safehasattr(inst, "args")
             and inst.args
             and inst.args[0] == errno.EPIPE
         ):