Mercurial > public > mercurial-scm > hg-stable
diff hgext/hooklib/__init__.py @ 44440:4cabeea6d214
hgext: start building a library for simple hooks
Many workflows depend on hooks to enforce certain policies, e.g. to
prevent forced pushes. The Mercurial Guide includes some cases and
Google can help finding others, but it can save users a lot of time
if hg itself has a couple of examples for further customization.
Differential Revision: https://phab.mercurial-scm.org/D6825
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Sat, 07 Sep 2019 14:50:39 +0200 |
parents | |
children | 6000f5b25c9b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hgext/hooklib/__init__.py Sat Sep 07 14:50:39 2019 +0200 @@ -0,0 +1,26 @@ +"""collection of simple hooks for common tasks (EXPERIMENTAL) + +This extension provides a number of simple hooks to handle issues +commonly found in repositories with many contributors: +- email notification when changesets move from draft to public phase +- email notification when changesets are obsoleted +- enforcement of draft phase for all incoming changesets +- enforcement of a no-branch-merge policy +- enforcement of a no-multiple-heads policy + +The implementation of the hooks is subject to change, e.g. whether to +implement them as individual hooks or merge them into the notify +extension as option. The functionality itself is planned to be supported +long-term. +""" +from __future__ import absolute_import +from . import ( + changeset_obsoleted, + changeset_published, +) + +# configtable is only picked up from the "top-level" module of the extension, +# so expand it here to ensure all items are properly loaded +configtable = {} +configtable.update(changeset_published.configtable) +configtable.update(changeset_obsoleted.configtable)