An alternative to using PQM

Nicholas Allen nick.allen at
Thu Oct 26 09:43:53 BST 2006


I just had an idea that could solve our workflow problems if we were to 
switch to bzr. I'm not really convinced on the idea of using the  PQM 
and I think this idea would be simpler but offer the same functionality.

We would write a program, say the "ChangeIntegrator", that would be the 
only one able to push to the official trunk. The ChangeIntegrator would 
scan a defined list of branches to merge from. It would go through the 
list one by one and would merge from the branch into its own local 
branch of the trunk. If there were conflicts in doing so it would revert 
the merge and send an email to the owner of the branch. If no conflicts 
occur then it would check everything compiles, may be run a test suite 
and then commit and push to the official trunk. It would then do the 
same for the next branch in the list and would keep repeating this 
process forever.

Basically it would require that every developer has there own private 
branch of the trunk that would be stored on a server. Pushing to this 
special branch would automatically imply that it should be merged to the 
trunk by the ChangeIntegrator. So if the developer wants to merge any 
other branch to trunk they first have to merge it into their trunk 
changes branch and then push to the server to be later picked up by the 

The advantage is that from the developer's point of view they just use 
bzr to submit changes to trunk by pushing to there own trunk changes 
branch. There is no separate program they have to use in order to send 
an email or put a request in a shared directory for the PQM. It's less 
to go wrong, and less for the user to learn and to setup on their 

The ChangeIntegrator would not be a complex program and would not 
require much to set it up. If we were to write this would it make more 
sense to do so in Python using bzrlib or would it be easy enough to 
write as a shell script?

Anyone see any problems with this approach?


Nicholas Allen

More information about the bazaar mailing list