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.
--- 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)