Audit options with Mercurial

Arne Babenhauserheide arne_bab at web.de
Sun Jan 23 16:34:50 CST 2011


On Sunday 23 January 2011 15:32:44 Dave Brosius wrote:
> Now if you are looking for approval management as the OP is, then at the
> very least you will have to build some workflow around Mercurial, as
> this isn't supported directly. To me it would be as simple to having 3
> repositories owned by development, qa, and release. Where each

> Of course that probably isn't good enough given the sound of the Ops
> company. The histerical paranoia that exudes seems unlikely to be
> satisfiable by any tool really. I'm glad i don't work in an environment
> like that.

How about using the default branch for development, then having a QA named 
branch and a release branch. 

The advantage is that merging default into QA requires an explicit merge which 
can subsequently be GPG signed by the developer responsible for it. 

When QA finishes applying  their changes, they first of all merge back into 
default (so that developers work on the QA version) and then merge into 
release, GPG signing the merge commit. 

For every subsequent layer, just add another named branch. 

Commands: 

* Developer: 
	
	hg pull # get the latest changes
	hg update
	hg commit -m "<what I did>"
	hg update -C QA
	hg merge default
	hg commit -m "merged default branch for QA"
	hg sign
	hg push

* QA: 

	hg pull
	hg update QA
	hg commit -m "QA fixes"
	hg update -C default
	hg merge QA
	hg ci -m "merged QA fixes back into the development branch"
	hg update -C release
	hg merge QA
	hg commit -m "merged finished QA into release"
	hg sign

That’s it: A complete approval management solution with Mercurial, using only 
core commands plus the GPG extension for verifiable signatures. 

Best wishes, 
Arne

PS: I just added this workflow to the workflows page in the wiki: 
http://mercurial.selenic.com/wiki/Workflows
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 316 bytes
Desc: This is a digitally signed message part.
URL: <http://selenic.com/pipermail/mercurial/attachments/20110123/849edb38/attachment.pgp>


More information about the Mercurial mailing list