Bzr workflow for developers struggling with the DVCS "Pull" model
Sean Kelley
sean.v.kelley at gmail.com
Wed Jul 16 21:15:30 BST 2008
In hg merges are explicit. This has the advantage that you can ensure
certain things on each changeset. Yet the fact that GIT and HG are
designed around a "pull" model implies you must have patch review to
avoid messy merges in your history - i.e., polluting of the tree
history with many "merge" changesets. If you want to review (or test
or do whatever takes some time) the merge before committing the
push-model will never scale.
There is not a one size fits all for push/pull models and I believe a
DVCS needs to be flexible enough to support many. In my case, I
develop in Assembly/C/C++ for embedded devices. We do not have unit
tests for all the various and sundry repos housing anything from a USB
port manager to a power source monitor. We have test scripts that are
run by SQA developers against final software images. We have more
than a hundred developers distributed across three continents.
Multiply that times hundreds of HG repos and you can see this is
clearly an enterprise level system. We handle software configuration
management through a build system that is gated by tags and release
branches. We use a push model very effectively - but we have very
messy trees full of merges.
Something like pushmerge would be very attractive in our situation. I
think the majority of projects on the net that use HG or GIT seem to
be onesy twosy repo focused. One project and maybe three repos. But
when you have a project that consists of hundreds of repos that are
used to build the final software image, then the needs of the tools
differ.
This is something that has made adoption of DVCS tools a challenge for
enterprise level development. I think Bzr in its architecture
recognized that and allows that flexibility to adapt to the differing
needs.
Can anyone share with me how Bzr might differ from the HG/GIT "pull"
model in workflows? Is there more flexibility such that perhaps I
should consider switching from HG to Bzr?
Thanks,
Sean
More information about the bazaar
mailing list