safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:28:15 +0100
changeset 50583 833a4e881a7a
parent 50582 b23b3ef38ba1
child 50584 b2ec43d552d4
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/localrepo.py
--- a/mercurial/localrepo.py	Thu Feb 02 17:28:07 2023 +0100
+++ b/mercurial/localrepo.py	Thu Feb 02 17:28:15 2023 +0100
@@ -415,7 +415,7 @@
             try:
                 bundle = exchange.readbundle(self.ui, bundle, None)
                 ret = exchange.unbundle(self._repo, bundle, heads, b'push', url)
-                if util.safehasattr(ret, b'getchunks'):
+                if util.safehasattr(ret, 'getchunks'):
                     # This is a bundle20 object, turn it into an unbundler.
                     # This little dance should be dropped eventually when the
                     # API is finally improved.