Goal
A workflow where the repository gets updated only from repositories
whose heads got signed by at least a certain percentage or a certain number of trusted committers.
Requirements
Mercurial, two hooks for checking and three special files in the repo.
The hooks do all the work - apart from them, the repo is just a normal
Mercurial repository. After cloning it, you only need to setup the hooks to
activate the workflow.
Extensions: gpg
Hooks: prechangegroup and pretxnchangegroup
Files: .hgtrustedkeys , .hgbackuprepos , .hgtrustminimum
concept
Hooks
Special Files
.hgtrustedkeys contains a list of public GnuPG keys.
.hgbackuprepos contains a list of (pull) links to backup repositories.
.hgtrustminimum contains the percentage or number of keys from which a signature is
needed for a head to be accepted.
Notes
With this workflow you can even do automatic updates from the repository. It
should be ideal for release repositories of distributed projects.