safehasattr: pass attribute name as string instead of bytes
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 02 Feb 2023 17:36:47 +0100
changeset 50606 a30e6401c7f0
parent 50605 98b805d40c41
child 50607 bf7ad17b0a58
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/subrepoutil.py
--- a/mercurial/subrepoutil.py	Thu Feb 02 17:36:38 2023 +0100
+++ b/mercurial/subrepoutil.py	Thu Feb 02 17:36:47 2023 +0100
@@ -415,7 +415,7 @@
     # type: (localrepo.localrepository, bool, bool) -> Optional[bytes]
     """return pull/push path of repo - either based on parent repo .hgsub info
     or on the top repo config. Abort or return None if no source found."""
-    if util.safehasattr(repo, b'_subparent'):
+    if util.safehasattr(repo, '_subparent'):
         source = urlutil.url(repo._subsource)
         if source.isabs():
             return bytes(source)