On Sat, Mar 12, 2005 at 10:47:24AM +0000, Bryan O'Donoghue wrote:
> What is the deal with decentralised SCM being the holy grail of source
> control?
>> Ie, I'm sure darcs/monotone/arch provide better/more intelligent
> features then cvs... but... what I don't quite grasp (having not used a
> decentralised SCM, but, being in a position where I can effectively
> cherry pick my SCM), is how, I would reasonably synchronise say, four
> developers, distributed-source trees, into a release build on a "release
> build box"?
>> Would it be the case that _I_ would have to ssh into this box, and then
> pull a darcs/monotone/arch tree from all my developers... and then
> synchronise the conflicts by hand?
(I don't have experience with this, but this is how I would imagine it
working.)
At the end of the day, one person needs to take responisbility for the
release - let's call him the buildmaster. It's his job to cherry-pick
changesets from all the other developer repositories and commit them
to a "master build" repository. The build machine pulls from this
repository when building a release build.
This is how the Linux kernel trees work. Changesets flow forward and
backwards between various developers repositories, with an overall
tendency for changes to flow toward Linus' tree. He decides what
goes in his tree and what gets tagged as a release.
Now, it is very possible to make this more fine-grained, in that the
build machine could pull module A from your tree and module B from
a tree maintained by another developer.
Note that the build master may need to maintain multiple trees - the
"sandbox" that he works in, and the "master build" tree.
All lot of the work to maintain the master build tree should be
automatable by scripts, but you really still need a human to keep
an eye on it.
Later,
Kenn
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!