On Fri, Feb 29, 2008 at 7:41 PM, Fred B fredb7@gmail.com wrote:
On 29 Feb 2008, at 17:37, Christoph Held wrote:
what would you choose?
I'd totally go with a distributed VCS. The possibility to work offline is a good reason enough, IMHO.
After quickly trying almost every VCS, the one I picked first is Mercurial and it was a blessing compared to svn. With all the buzz git got lately, I decided to try it for real on a project. To make it really short: I think git can be more powerful, but is harder to learn, and after 15 days i still scratch my head on some edge cases.
So I'd say Mercurial, Git, Darcs... See the one that suits you best.
I've used all of Subversion, Git and Mercurial. Of the DVCSes, hg is initially easier to grasp than git and presents a friendlier face. OTOH, some workflows which are easy in git are much more difficult in hg. (For example, IMO, maintaining a patch series with git rebase is much more straightforward than dealing with hgq.) I currently use git -- once you understand the index it's like crack.
Anyway, I think your first decision is Subversion vs a DVCS. If you decide on a DVCS, you then need to choose which one.
One thing to keep in mind is that whatever decision you make isn't totally cast in stone. It's pretty straight-forward to convert from Subversion to a DVCS (well, at least to git or hg, and I'd imagine to bzr as well), and you can also convert between the DVCSs with varying degrees of ease.
Another option is using git as an svn client. You can setup an svn repo, let most folks use the normal svn clients, and for anyone who wants the ability of offline commits, just let those folks use git's svn integration.
j.