Some weeks ago I wrote up my Do you control your source control? Or is it the other way around? post. That’s a topic that I’ve had quite a bit of disappointment with. So much so it was one of the motivators for my highly acclaimed Another Craftsman in the Death Row video…
I keep seeing like-minded people all over the place expressing the same feelings about it. Take these two tweets from for instance:
A few days ago I’ve run into this post about 8 Reasons for Switching to Git. Good and short ready.
Once in a while you find posts and articles of people who are trying to build bridges between Git/Mercurial and TFS, like this one. As far as what I’ve read and heard, it’s kind of painful, but it shows how much pain several people feel and how they need to go out find better solutions for something that should be simple.
So, Git or Mercurial?
I started with Mercurial. It was quick for me to get started and have my pet projects use it. The tooling in Windows worked well for me. Then, when I started to learn Ruby on Rails, I decided to give Git a shot. It felt very similar to Mercurial. I had to use one of those cheat sheets that show Mercurial and Git commands side by side, and that was fine. However, I have to say I liked the Mercurial commands much better; the Git ones didn’t seem very intuitive for me.
Another thing I felt was that tooling for Git on Windows didn’t work as well for me as their Mercurial counterparts (that situation may have changed by today).
After working with Git for about 2 or 3 months, I decided to go back to Mercurial, and that’s where I’m staying for the time being. Actually, I use Mercurial as my main system, but also use Git at least for deploying my Rails applications to Heroku.
So how do you get started on Mercurial?
I still think that for somebody getting into one of these systems, Mercurial is the easier one to learn and use. Just download it here (23Mb, which includes both Mercurial and TortoiseHg, which is a GUI for it). Then, where to next? Here, right off the official website:
I can’t see how it could be any easier than that. Anyway, you should also take a look at the Hg Init: a Mercurial tutorial. Very quick and nice read, which will give you a good idea as to how this system can be used.
Apparently, TFS may have a brighter future ahead, but until that day comes, I’m sticking with Mercurial and/or Git.