# HG changeset patch # User Pierre-Yves David # Date 2023-02-02 16:28:07 # Node ID b23b3ef38ba1602b1743f3fc70ebfe9e75496ebd # Parent 35b274cba81d2355c1c8b73a4f1cd769503d6e05 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/httppeer.py b/mercurial/httppeer.py --- a/mercurial/httppeer.py +++ b/mercurial/httppeer.py @@ -180,7 +180,7 @@ def makev1commandrequest( qs = b'?%s' % urlreq.urlencode(q) cu = b"%s%s" % (repobaseurl, qs) size = 0 - if util.safehasattr(data, b'length'): + if util.safehasattr(data, 'length'): size = data.length elif data is not None: size = len(data)