An alternative to using PQM
Nicholas Allen
nick.allen at onlinehome.de
Thu Oct 26 09:43:53 BST 2006
Hi,
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
ChangeIntegrator.
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
workstation.
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?
Cheers,
Nicholas Allen
More information about the bazaar
mailing list