safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:18:24 +0100
changeset 50550 9e24f8442640
parent 50549 9dcb00842769
child 50551 b1fb4185e47c
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.
mercurial/wireprotov1server.py
--- a/mercurial/wireprotov1server.py	Wed May 31 12:02:56 2023 -0300
+++ b/mercurial/wireprotov1server.py	Thu Feb 02 17:18:24 2023 +0100
@@ -665,7 +665,7 @@
                 r = exchange.unbundle(
                     repo, gen, their_heads, b'serve', proto.client()
                 )
-                if util.safehasattr(r, b'addpart'):
+                if util.safehasattr(r, 'addpart'):
                     # The return looks streamable, we are in the bundle2 case
                     # and should return a stream.
                     return wireprototypes.streamreslegacy(gen=r.getchunks())