# HG changeset patch # User Pierre-Yves David # Date 2023-02-03 01:57:49 # Node ID 2704dc40cf10931cb6985bf9859b4f38da313a8e # Parent 17a86f6500590c9acb459cb31291185f99072b58 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 --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1718,7 +1718,7 @@ def debugformat(ui, repo, **opts): if fm.isplain(): def formatvalue(value): - if util.safehasattr(value, b'startswith'): + if util.safehasattr(value, 'startswith'): return value if value: return b'yes'