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.

Comments

2 responses to “Which revision/source/version control software to use”

  1. hello Avatar
    hello

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

  2. Chris Avatar
    Chris

    Mark, do you know if git works well on Windows?

Leave a Reply

Your email address will not be published. Required fields are marked *