# HG changeset patch # User Pierre-Yves David # Date 1675355226 -3600 # Node ID 3b642b384b14914ec86504cc0571231493f59dd4 # Parent 029fe2f012c8a2820f2e58ceeed281ba7edd6c8b 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 029fe2f012c8 -r 3b642b384b14 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Thu Feb 02 17:26:32 2023 +0100 +++ b/mercurial/hgweb/hgweb_mod.py Thu Feb 02 17:27:06 2023 +0100 @@ -478,7 +478,7 @@ except (error.LookupError, error.RepoLookupError) as err: msg = pycompat.bytestr(err) - if util.safehasattr(err, b'name') and not isinstance( + if util.safehasattr(err, 'name') and not isinstance( err, error.ManifestLookupError ): msg = b'revision not found: %s' % err.name