Lately I’ve been searching for the best source control technologies for my work projects. I’ve been a subversion user for a while, but heard more and more about git. So I checked it out, and I very much liked the fact that it allows you to easily put your projects under source control, even offline, when you don’t have access to a server.
However in multiple programmer environments (for instance at work) the idea of a central server still has its benefits.
That’s when I came across Mercurial, this seems to me to be the best of both worlds, since you can just put your project under source control offline, you can pull push to other people if they put up a webserver, but you can also use a central server to push to and pull from..
Combine that with the fact that something like bitbucket.com gives you the chance to start a private free repository online..
So am I right in my thinking, or are there some important subtleties with these source control systems in a work environment that I fail to grasp?
You are missing something – git also allows you to have a central server. And github provides the same sort of facilities as bitbucket. Having said that, I think that that Mercurial is a better choice than git for someone starting out in version control, as it is somewhat easier to use, less complex and (for new users at least) its documentation is less intimidating.
Also, you don’t say what platform(s) you use, but currently the Mercurial user interface on Windows has a distinct edge over git.