# HG changeset patch # User Pierre-Yves David # Date 1612987505 -3600 # Node ID 86b019899737487e4c78c7c1558d48a65c5ce6d5 # Parent fb6eca7b8c6347859aaf68cf13fd41975ca98523 hooks: forbid ':' in hook name The `:` character is a special separator in the config and it seems same do to the same for hooks. This is necessary to improve the experience around the HGPLAIN behavior change in 5.7. See next changesets for details. Differential Revision: https://phab.mercurial-scm.org/D9978 diff -r fb6eca7b8c63 -r 86b019899737 mercurial/configitems.py --- a/mercurial/configitems.py Wed Feb 10 21:46:29 2021 +0100 +++ b/mercurial/configitems.py Wed Feb 10 21:05:05 2021 +0100 @@ -1310,7 +1310,7 @@ ) coreconfigitem( b'hooks', - b'.*', + b'[^:]*', default=dynamicdefault, generic=True, ) diff -r fb6eca7b8c63 -r 86b019899737 mercurial/hook.py --- a/mercurial/hook.py Wed Feb 10 21:46:29 2021 +0100 +++ b/mercurial/hook.py Wed Feb 10 21:05:05 2021 +0100 @@ -224,7 +224,11 @@ """return all hooks items ready to be sorted""" hooks = {} for name, cmd in ui.configitems(b'hooks', untrusted=_untrusted): - if name.startswith(b'priority.') or name.startswith(b'tonative.'): + if ( + name.startswith(b'priority.') + or name.startswith(b'tonative.') + or b':' in name + ): continue priority = ui.configint(b'hooks', b'priority.%s' % name, 0)