View Single Post
Old Mar 21st, 2008, 9:52 PM   #9
Mad_guy
Hobbyist Programmer
 
Mad_guy's Avatar
 
Join Date: Oct 2004
Location: Sandstorm, Techno Club
Posts: 239
Rep Power: 5 Mad_guy is on a distinguished road
Send a message via AIM to Mad_guy Send a message via MSN to Mad_guy
Re: Version Control Software

I am a huge fan of distributed revision control; in this vein there are a couple of options:

1. Git
2. Mercurial
3. Darcs
4. Bazaar
(and some others)

Personally I have pretty much moved to git for most of my revision control. While it has had lacking windows support, there is a big move to get it working on windows via MinGW; if you are on windows you can download a git installer here. I am primarily a linux programmer so I don't have issues with git at all; but I am extremely happy to see it moving forward on windows as well. :]

The main reason I like distributed revision control (darcs, git, mercurial etc.) as opposed to centralized version control (CVS, SVN, etc.) is because rather than a server-client approach, distributed control is more about a peer-to-peer approach. You can commit changes offline, branch easier (in my experience, at least,) you don't have to worry about a 'server crash' (every copy of a repository is the exact same and contains the full history; if you lose your copy of the repository you can just pull it again and you have everything back. If your SVN server crashes, you lose everything.) It (I think) promotes more people to get involved since you don't need "commit access" to make change: you just have to tell someone to pull from your repository or just email them patches they can apply to their repository. Generally speaking, you can say distributed revision control >= centralized revision control, primarily because you can emulate the centralized model with just about any distributed system anyway (it's just not preferred, for the most part.)

Anyway, if you're on windows, mercurial might be worth the best look right now. It's fully supported on many platforms, it is fast and it is reliable. I prefer the git workflow and features it offers a lot more however, which is why I use it. Bazaar is supposed to be nice but I have heard there are varying performance issues which is the main reason I haven't really given it a shot, to be fair. I think revision control needs to be very fast, and git/mercurial are pretty far ahead in this aspect.
__________________
os: mac os 10.5.4
revision control: git
editor: emacs

site
Mad_guy is offline   Reply With Quote