# HG changeset patch # User Pierre-Yves David # Date 1675382741 -3600 # Node ID 17a86f6500590c9acb459cb31291185f99072b58 # Parent 88362b8bc4760dd25e7d29d83841b5d5ddd5953e 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 88362b8bc476 -r 17a86f650059 mercurial/scmutil.py --- a/mercurial/scmutil.py Fri Feb 03 01:04:22 2023 +0100 +++ b/mercurial/scmutil.py Fri Feb 03 01:05:41 2023 +0100 @@ -1066,7 +1066,7 @@ return # translate mapping's other forms - if not util.safehasattr(replacements, b'items'): + if not util.safehasattr(replacements, 'items'): replacements = {(n,): () for n in replacements} else: # upgrading non tuple "source" to tuple ones for BC