> When it comes time to do a release build on "Central box" wouldn't
> someone _me_ have to go to that box and integrated Developer-A's tree
> with Developer-B's tree ?
No. They're both committing changes to their local SCM instance, and
resolving changes as they go, and then the changes on their local
repository get synced.
> Then we want to do a _release_ build.... how is the potential conflict
> in f.c resolved ? How do the two developers have visibility to the
> changes in each other's repositories and ... would it not be the case
> that "Central box" would have to manually synchronise between the two
> developers... and _fix_ the breakage in f.c ?
No. You make your change and commit it locally. He then makes his
change, and so long as it doesn't conflict it goes in. If it does, he
resolves it, probably by contacting you and asking you why you added a
source file and dependancy without letting him know., in the same way
as if everyone was on the central server.
The point is that the local repository, as I see it, would be only a
fast mirror of the entire repository. Everyone who's working on
project A commits to the same SCM instance. To the user, it's
transparent, unless a conflict is detected when integrating back to
the central repostory, in which case it gets resolved as normal.
There really is no real difference in conflict resolution, except that
there's more then one place a conflict can occur. The local repository
doesn't just sit there getting more and more divergent from the main
repository and more and more broken. It constantly updates itself to
the main one, and conflicts come up as they happen when integrating to
the central repository.
> I can't imagine that's how it works... since that's an extremely broken
> design... but, that's how the implied structure of this distributed
> model seems to work.
I don't see how distributing the work and adding redundancy and
geographic diversity to a service is a 'broken' design. But, horses
for courses and all that.
- DoC
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!