Mercurial > hg
changeset 34687:e79b6300d97c
hook: add a 'hashook' function to test for hook existence
Preparing the data for some hooks can be expensive. Add a function to check if
a hook exists so we can skip useless preparation if no hook is configured.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Sun, 08 Oct 2017 13:08:31 +0200 |
parents | 0d1b8be8d8a8 |
children | a88166a4dce3 |
files | mercurial/hook.py |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hook.py Fri Oct 13 22:42:17 2017 +0200 +++ b/mercurial/hook.py Sun Oct 08 13:08:31 2017 +0200 @@ -189,6 +189,15 @@ global _redirect _redirect = state +def hashook(ui, htype): + """return True if a hook is configured for 'htype'""" + if not ui.callhooks: + return False + for hname, cmd in _allhooks(ui): + if hname.split('.')[0] == htype and cmd: + return True + return False + def hook(ui, repo, htype, throw=False, **args): if not ui.callhooks: return False