I'm using Windows and am comfortable with SVN (well, TortoiseSVN) because it's dead simple. It works for me. However, because it's been working so well, I haven't any reason to try anything else.

Should I bother learning a different system, for example, Mercurial or Git?

3 Answers 3


Messing around with version control is often not ones highest priority. Whether learning Mercurial or Git is a good investment of your time will have much to do with your particular circumstances.

However, there are real advantages of distributed version control. Most compelling to me is that it separates the act of committing code (and thus having it always available for all time) and the act of inflicting that code on the rest of the team. If I'm using Git, I'll do a local commit at least every hour, and push to the central repository several times a day. If I'm using SVN, I only commit when my code is appropriate for public consumption, and thus may work for five or six hours without any commits.

So read a little more about it, and see if the benefits are compelling to you. If it seems to be solving problems that you don't yet have, then it isn't yet time for you to mess with it. But if you find yourself intrigued, go for it.

For Git, the best resource is http://progit.org/book/

For Mercurial, a great read to think right is Joel's tutorial: http://hginit.com/

  • The tutorial makes a compelling argument, and is especially useful in my case because it compares Mercurial to SVN. I will likely try it out in my next project.
    – Corey
    Jan 9, 2011 at 23:03
  • 1
    Everyone should learn to use a DVCS, at least, because it's so handy to have it in your Box O' Tools. Since you already know SVN, I would try Distributed next.
    – Warren P
    Jun 17, 2011 at 2:21

It's good to know both one centralized and one distributed source control system. This way you will understand both approaches. Learn subversion and mercurial or git and you should be fine. If you want to use it as version control system (rather than only source control), e.g. for binary files, you can take a look at perforce, which uses slightly different approach (it requires constant access to the central repo).

  • FYI: Windows + Git = Pain and crying oneself to sleep
    – TheLQ
    Jan 1, 2011 at 5:38
  • but: Git + Linux = FTW Jan 1, 2011 at 7:31
  • @TheLQ isn't there TortoiseGit to get around the lowlevel mess? Because a mess it is indeed.. It's a shame there's no such thing as SvnKit for git (at least not that I know of): a single lib that does it all.
    – stijn
    Jan 1, 2011 at 10:07
  • @TheLQ: I have learned mercurial ;-) I am python guy :-)
    – gruszczy
    Jan 1, 2011 at 12:18
  • 1
    Windows + Git works absolutely fine for me.
    – rwallace
    Nov 14, 2011 at 3:40

Yes - if only so it doesn't throw you too much when you come across them. Git is becoming popular, and you will need to know the command line. Although - if you get to know the SVN command line reasonably, then the transition to other Source control systems will be much easier.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.