DMD needs branches

Nicolas J. Nicolas.J. at lolrofl.fakeaddress.com
Sun Apr 15 10:51:28 PDT 2007


Nicolai Waniek Wrote:
> You don't need real branches for that, you may even just copy the source files
> from one directory to another, but having a backend like SVN doing it will save
> you lots of work to be done (e.g. you could share some source files through all
> branches when you're certain that they won't get changed).

Unfortunately, because it doesn't keep track of history, SVN is not very good at merging, so that it gives a little more work for the maintenance of several parallel branches, even though it still reduces the work of reporting patches by maybe 80%.

More powerful tools like darcs and mercurial reduce the number of merge conflicts (and therefore manual work) greatly. darcs has a very interesting concept of dependencies between patches that allow to undo a patch easily: i.e it is possible to remove a patch and the SCM will remove all the patches that were dependent on it.

Decentralized SCM like those ones are better suited to open source software than centralized SCM (CVS, SVN, Clearcase...) because one doesn't need to connect to the central server to be able to work. In this model, each developer has a complete local copy of the central repository, so that he can work offline. He only connects to it to synchronize, so this model scales better than the centralized model.

A google tech talk of presentation of mercurial:
http://video.google.com/videoplay?docid=-7724296011317502612

(but of course, it's up to Walter to decide what he is up to...)



More information about the Digitalmars-d mailing list