# HG changeset patch # User Pierre-Yves David # Date 1675355310 -3600 # Node ID b2ec43d552d4457b19707e93241542d0e099c901 # Parent 833a4e881a7ab958ad10b684eb1dbfda1b2b3b2b 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. diff -r 833a4e881a7a -r b2ec43d552d4 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)