diff -r 01c1ee4bd1dd -r 1b2b727a885f mercurial/hook.py --- a/mercurial/hook.py Wed Jul 18 07:51:20 2012 -0700 +++ b/mercurial/hook.py Fri Jul 06 18:41:25 2012 +0200 @@ -169,7 +169,11 @@ path = util.expandpath(path) if repo: path = os.path.join(repo.root, path) - mod = extensions.loadpath(path, 'hghook.%s' % hname) + try: + mod = extensions.loadpath(path, 'hghook.%s' % hname) + except Exception: + ui.write(_("loading %s hook failed:\n") % hname) + raise hookfn = getattr(mod, cmd) else: hookfn = cmd[7:].strip()