[PATCH stable] hook: disable demandimport before importing hooks
Dirkjan Ochtman
dirkjan at ochtman.nl
Mon Dec 17 05:45:07 CST 2012
# HG changeset patch
# User Dirkjan Ochtman <dirkjan at ochtman.nl>
# Date 1355744565 -3600
# Node ID 50352cc4c0560f1e3e49c78c8070a5dadac950c8
# Parent e853d27956fb0a25dcaac29b18bb0d5719297830
hook: disable demandimport before importing hooks
diff --git a/mercurial/hook.py b/mercurial/hook.py
--- a/mercurial/hook.py
+++ b/mercurial/hook.py
@@ -7,7 +7,7 @@
from i18n import _
import os, sys
-import extensions, util
+import extensions, util, demandimport
def _pythonhook(ui, repo, name, hname, funcname, args, throw):
'''call python hook. hook is callable object, looked up as
@@ -35,13 +35,17 @@
sys.path = sys.path[:] + [modpath]
modname = modfile
try:
+ demandimport.disable()
obj = __import__(modname)
+ demandimport.enable()
except ImportError:
e1 = sys.exc_type, sys.exc_value, sys.exc_traceback
try:
# extensions are loaded with hgext_ prefix
obj = __import__("hgext_%s" % modname)
+ demandimport.enable()
except ImportError:
+ demandimport.enable()
e2 = sys.exc_type, sys.exc_value, sys.exc_traceback
if ui.tracebackflag:
ui.warn(_('exception from first failed import attempt:\n'))
More information about the Mercurial-devel
mailing list