diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -79,6 +79,12 @@ def _importh(name): mod = getattr(mod, comp) return mod +def _reportimporterror(ui, err, failed, next): + ui.debug('could not import %s (%s): trying %s\n' + % (failed, err, next)) + if ui.debugflag: + ui.traceback() + def load(ui, name, path): if name.startswith('hgext.') or name.startswith('hgext/'): shortname = name[6:] @@ -98,10 +104,7 @@ def load(ui, name, path): try: mod = _importh("hgext.%s" % name) except ImportError as err: - ui.debug('could not import hgext.%s (%s): trying %s\n' - % (name, err, name)) - if ui.debugflag: - ui.traceback() + _reportimporterror(ui, err, "hgext.%s" % name, name) mod = _importh(name) # Before we do anything with the extension, check against minimum stated