diff --git a/mercurial/hook.py b/mercurial/hook.py --- a/mercurial/hook.py +++ b/mercurial/hook.py @@ -138,6 +138,9 @@ def redirect(state): _redirect = state def hook(ui, repo, name, throw=False, **args): + if not ui.callhooks: + return False + r = False oldstdout = -1 diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -19,6 +19,7 @@ class ui(object): self._ucfg = config.config() # untrusted self._trustusers = set() self._trustgroups = set() + self.callhooks = True if src: self.fout = src.fout @@ -31,6 +32,7 @@ class ui(object): self._trustusers = src._trustusers.copy() self._trustgroups = src._trustgroups.copy() self.environ = src.environ + self.callhooks = src.callhooks self.fixconfig() else: self.fout = sys.stdout