Which revision/source/version control software to use

I got a question in the comments of my previous post re this, so I’m going to weigh in real quick:

I’ve used CVS, Subversion (SVN) and Git and dabbled with a few commercial products.

Use “git”. Here’s why:

  • If it’s not already the most popular, it will be soon.
  • It is used for the Linux Kernel and was designed by Linus Torvalds, creator of Linux. If it can handle Linux’s source and a distributed team that size, your project will do just fine.
  • It’s incredibly fast, which is important if you have lots of source and larger files.
  • It’s very robust. This was one of the original design considerations.
  • It’s designed to work well with a distributed team.
  • It’s extremely well supported and many complementary open source and proprietary products are available for git. Check out GitHub for example.
  • It specifically fixes flaws in previous revision control systems like CVS so there are many learnings built in that make it better than older systems.
  • If you plan to collaborate on an open source project, you’re probably going to be using Git anyway.
I still have some of my legacy projects on Subversion purely because my deployment system is built on subversion. But everything new I do is on Git, both open and closed source.

4 thoughts on “Which revision/source/version control software to use

  1. Why not mercurial? It has the same feature, is easier to use, and is not hacked together like git is?

Comments are closed.