Whenever these discussions come up (this is probably the 3rd or 4th iteration), the general response is 'we should use the VCS that I'm most familiar with'
So on that basis, I'd vote for mercurial (use it at work) or SVN (crossfire already uses it)
All that being said, for the amount of commits crossfire gets, I'm really not convinced a distributed VCS is worth the effort. It is certainly useful for really big projects, or if making lots of changes such that you want to be able to do intermediate commits.
To me, the only really compelling reason for a DVCS is that all the data is local, so you can do things like diff, history, etc, and still get data even if the master gate is down.
I don't think it will make much difference in terms of maintaining branches - all systems I've seen have problems once branches drift apart - at some level, manual merging is possible. Its been a while, but I seem to remember that even for SVN, there was a pretty simple way to do that. The main problem (in general) with branches is people just generally don't want to do the extra steps to backport, even if the steps were pretty trivial.
I'm really not convinced that a bunch of branches are desirable thing - whenever extra branches have shown up in SVN, they basically just languished, and I don't think it was because of the VCS, but rather there are not so many developers that your going to have 10 people working on the trunk and 8 playing on a branch - rather, everyone just works on trunk.
Conceivably, this can be useful if working on a private branch, but a DVCS really doesn't help prevent merge hell if the branches drift too far apart (conflicts still need to be resolved by hand), though I suppose with a DVCS, they would need to be resolved less often vs trying to use SVN.
mercurial at least can pull from a SVN repo, as it sounds like GIT can, but the issue is the push. I have no idea if git and mercurial can play well together (if the repo was mercurial, can git do most things it needs to do or vice versa).
_______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

