I've been a longtime user of subversion for source control, and with Google's Project Hosting , that was the only choice. For a new project I'm working on I decided to try mercurial , instead. I think I'll stick with mercurial from now on: It's very close to subversion for most commands. It's incredibly fast. I can perform commits without an internet connection. It uses only one hidden folder for the whole tree. The only issue I've found so far is that the default Mercurial version for Ubuntu is before version 1.3 which allows you to store the password in a ~/.hgrc file. So, for now, I need to type in the password every time I do a push.