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/hg.py Thu Feb 02 17:24:16 2023 +0100
+++ b/mercurial/hg.py Thu Feb 02 17:26:23 2023 +0100
@@ -317,7 +317,7 @@
if repo.sharedpath == repo.path:
return None
- if util.safehasattr(repo, b'srcrepo') and repo.srcrepo:
+ if util.safehasattr(repo, 'srcrepo') and repo.srcrepo:
return repo.srcrepo
# the sharedpath always ends in the .hg; we want the path to the repo