Add initial version of blacklist mercurial extension for use to exclude
and manage known bad changesets from mercurial repositories.
hg blacklist
manage repository changeset blacklist
This extension is used to manage a blacklist for the repository.
Can blacklist changesets by changeset id, and regular expressions against
the user field of a changeset and also a changesets file list.
Current rules can be viewed using the [-l|--list] operation.
Each modification to a blacklist is logged. These can be viewed using the
--auditlog operation.
Each time a changeset is blocked/denied it's logged. These can be viewed
using the --blocklog operation.
Types of changeset blacklist rules can be defined implicitly or explicitly:
If a rule definition contains between 12 and 40 hexadecimal characters
it is assumed to be a rule matched against changeset id. Can be set
explicitly set with the -n flag to the --add operation.
If a rule definition contains a '@' it is assumed to be a rule matched
against a changeset's user property. Can be set explicitly with
the -u flag to the --add operation.
Otherwise the rule is assumed to be matched against a changeset's file
list. Can be set explicitly with the -f flag to the --add operation.
When this extension is enabled a hook is also added to the
'pretxnchangegroup' action that will block any incoming changesets
(via pull/push/unbundle) if they are blacklisted.
It won't block any local commits.