--- a/mercurial/extensions.py Thu Dec 08 15:33:19 2022 +0100
+++ b/mercurial/extensions.py Thu Aug 31 23:56:15 2023 +0200
@@ -172,7 +172,7 @@
"""Check if extension commands have required attributes"""
for c, e in cmdtable.items():
f = e[0]
- missing = [a for a in _cmdfuncattrs if not util.safehasattr(f, a)]
+ missing = [a for a in _cmdfuncattrs if not hasattr(f, a)]
if not missing:
continue
msg = b'missing attributes: %s'
@@ -742,7 +742,7 @@
# The hgext might not have a __file__ attribute (e.g. in PyOxidizer) and
# it might not be on a filesystem even if it does.
- if util.safehasattr(hgext, '__file__'):
+ if hasattr(hgext, '__file__'):
extpath = os.path.dirname(
util.abspath(pycompat.fsencode(hgext.__file__))
)
@@ -857,7 +857,7 @@
# The extensions are filesystem based, so either an error occurred
# or all are enabled.
- if util.safehasattr(hgext, '__file__'):
+ if hasattr(hgext, '__file__'):
return
if name in _order: # enabled
@@ -987,13 +987,13 @@
def moduleversion(module):
'''return version information from given module as a string'''
- if util.safehasattr(module, 'getversion') and callable(module.getversion):
+ if hasattr(module, 'getversion') and callable(module.getversion):
try:
version = module.getversion()
except Exception:
version = b'unknown'
- elif util.safehasattr(module, '__version__'):
+ elif hasattr(module, '__version__'):
version = module.__version__
else:
version = b''