diff -r 004bf1d6e6af -r 9e7b2c49d25d mercurial/hook.py --- a/mercurial/hook.py Thu Nov 12 14:34:07 2009 -0600 +++ b/mercurial/hook.py Thu Nov 12 14:05:52 2009 -0800 @@ -37,10 +37,18 @@ try: obj = __import__(modname) except ImportError: + e1 = sys.exc_type, sys.exc_value, sys.exc_traceback try: # extensions are loaded with hgext_ prefix obj = __import__("hgext_%s" % modname) except ImportError: + e2 = sys.exc_type, sys.exc_value, sys.exc_traceback + if ui.tracebackflag: + ui.warn(_('exception from first failed import attempt:\n')) + ui.traceback(e1) + if ui.tracebackflag: + ui.warn(_('exception from second failed import attempt:\n')) + ui.traceback(e2) raise util.Abort(_('%s hook is invalid ' '(import of "%s" failed)') % (hname, modname))