# HG changeset patch # User Pierre-Yves David # Date 1675355665 -3600 # Node ID 5ae124310ab03d3327ac9e755ba1faf8b6667e12 # Parent 0f83dc22efbc5505da41c6c2065f8d84af1f1708 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 0f83dc22efbc -r 5ae124310ab0 mercurial/revlog.py --- a/mercurial/revlog.py Thu Feb 02 17:34:17 2023 +0100 +++ b/mercurial/revlog.py Thu Feb 02 17:34:25 2023 +0100 @@ -1782,7 +1782,7 @@ """tells whether rev is a snapshot""" if not self._sparserevlog: return self.deltaparent(rev) == nullrev - elif util.safehasattr(self.index, b'issnapshot'): + elif util.safehasattr(self.index, 'issnapshot'): # directly assign the method to cache the testing and access self.issnapshot = self.index.issnapshot return self.issnapshot(rev)