safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:28:30 +0100
changeset 50584 b2ec43d552d4
parent 50583 833a4e881a7a
child 50585 2d9ba65a4d0a
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/localrepo.py
--- a/mercurial/localrepo.py	Thu Feb 02 17:28:15 2023 +0100
+++ b/mercurial/localrepo.py	Thu Feb 02 17:28:30 2023 +0100
@@ -1456,7 +1456,7 @@
         if self.ui.configbool(b'devel', b'all-warnings') or self.ui.configbool(
             b'devel', b'check-locks'
         ):
-            if util.safehasattr(self.svfs, b'vfs'):  # this is filtervfs
+            if util.safehasattr(self.svfs, 'vfs'):  # this is filtervfs
                 self.svfs.vfs.audit = self._getsvfsward(self.svfs.vfs.audit)
             else:  # standard vfs
                 self.svfs.audit = self._getsvfsward(self.svfs.audit)