Top 4 Free Version Control Systems For 2012

Revision control, or Version Control, is the management of changes to files, computer programs, and other projects. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged. Version Control software provides a database that is used to keep track of the revisions made to files by all developers involved in the project.

This post reviews the top open source Version Control Systems and the tools that make them easy to set them up and use them.

Why You Need Version Control

Basically, Version control is tracking the history of your files. It is an excellent way to solve the problem of sharing files between developers. Here are few reasons for the importance of version control systems:

  1. Undo: Meaning you can restore files to previous versions.
  2. Synchronization: Meaning that everyone in your project stay up to date with the latest version.
  3. Tracking: It keeps track of all changes made to a file: what has been changed and who made the changes.
  4. Branching and Merging: If you create experimental changes, you can branch the project so it will not affect the main version. And when you are done, you can merge back your changes with the main project.

Types of Version Control

There are two types of Version Control Systems: Centralized or Distributed Systems.

  1. In Centralized systems, there is a central server, where you check in/out from there. Traditional revision control systems, like Subversion, use a centralized model where all the revision control functions take place on a shared server. If two developers try to change the same file at the same time, without some method of managing access, the developers may end up overwriting each others work. Centralized revision control systems solve this problem either by file locking or version merging.
  2. The other type is a Distributed Revision Control System or Decentralized Version Control System (DVCS): It keeps track of software revisions and allows developers to work on a given project without necessarily being connected to a common network. The nice thing about it is that there is no central server. There are 3 major players in the Distributed Revision Control System: Git, Mercurial and Bazaar.

Here are the 4 top open-source Version Control Systems that you can depend on. All of them are either totally free or free with restrictions. All links are External. Good Luck!

1. Git

Git - Free and open source Distributed Version Control System.

  1. Visit Website.
  2. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
  3. Wikipedia Says: Git
  4. Reference: Git Reference

GitHub – Online :: Free for Open Source Projects

GitHub. Social Coding.

  1. Visit Website.
  2. Github is a Web based hosting service for projects that use the Git revision control system. This is the best way to collaborate with others online, fork, send pull requests and manage all your public and private git repositories. The service is Free for open source, and paid for other private repositories.
  3. Wikipedia Says: GitHub
  4. GitHub Learning Course: Learn GitHub

GitHub – Windows Client

GitHub for Windows.

  1. Visit Website.
  2. GitHub for Windows: Develop on Windows, share on GitHub. GitHub for Windows is a 100% native application that will run on Windows XP, Vista, 7 and even the pre-release Windows 8. It is “The easiest way to use Git on Windows. Period.” GitHub for Windows is a free download and although it is not required, it works best with a GitHub.com account.

GitHub – Mac Client

GitHub for Mac.

  1. Visit Website.
  2. Github for Mac: Develop on Mac, share on GitHub. Client for Git on Mac computers. The easiest way to share your code with GitHub from a mac computer. GitHub for Mac is a free download and free to use.

2. Mercurial

Mercurial - Free distributed source control management tool.

  1. Visit Website.
  2. Mercurial: Work easier. Work faster. Mercurial is a free, Distributed Source Control management tool. It efficiently handles projects of any size and offers an easy interface. It is fast and powerful and easy to learn. Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language.
  3. Wikipedia Says: Mercurial

Bitbucket – Online :: 5 users Free Plan

Bitbucket - Free source code hosting.

  1. Visit Website.
  2. Bitbucket is the hosting Website for Git and Mercurial. It offers Free Unlimited DVCS Code Hosting. You can store all of your Git and Mercurial source code in one place with unlimited private repositories. Includes issue tracking, wiki, and pull requests.

TortoiseHg – Windows Client

TortoiseHg - Windows client for Mercurial.

  1. Visit Website.
  2. TortoiseHg is a Windows shell extension and a series of applications for the Mercurial DVCS similar to the Tortoise clients for Subversion and CVS. It also includes a Gnome/Nautilus extension and a CLI wrapper application so the TortoiseHg tools can be used on non-Windows platforms.
  3. Supported Platforms: Microsoft Windows XP, Vista, Windows 7. It also includes a Command line support on many other platforms like Mac OS X.
  4. Wikipedia Says: TortoiseHg

3. Bazaar

Bazaar - Version Control System.

  1. Visit Website.
  2. Bazaar is another Distributed Version Control System, like Mercurial and Git. Bazaar helps you track project history over time and to collaborate easily with others. Whether you are a single developer or a community of developers scattered across the world, Bazaar scales and adapts to meet your needs. Here are ten reasons to switch to Bazaar.
  3. Wikipedia Says: Bazaar

Launchpad – Online :: Free for Open Source Projects

Launchpad. Free open source project hosting. Repository based on the Bazaar VCS.

  1. Visit Website.
  2. Launchpad is the hosting Website for Bazaar. It is a Free open source project hosting. Repository based on the Bazaar VCS. Launchpad can host your project source code using the Bazaar version control system. Launchpad also import over 2000 CVS, SVN, Git and Mercurial projects, so you can use Bazaar with those too.

4. Subversion

In Centralized systems, there is a central server, where you check in and check out from. You must have a connection to the server to do source control operations. Subversion uses the centralized Revision Control mode.

Apache Subversion.

  1. Visit Website.
  2. Apache Subversion is an open source version control system with the widest adoption. Many open-source projects use Subversion as a repository such as SourceForge and many others. Google Code uses Subversion exclusively to distribute code. Apache Subversion is a full-featured version control system originally designed to be a better CVS. Subversion has since expanded beyond its original goal of replacing CVS, but its basic model, design, and interface remain heavily influenced by that goal. Subversion should still feel very familiar to CVS users.
  3. Wikipedia Says: Apache Subversion

TortoiseSVN – Windows Client

TortoiseSVN - A Subversion client, implemented as a windows shell extension.

  1. Visit Website.
  2. TortoiseSVN: A Subversion client, implemented as a windows shell extension. TortoiseSVN is easy to use version control software for Windows. TortoiseSVN is a great file browser for viewing, editing and modifying your Subversion code base. TortoiseSVN is free to use.
  3. Wikipedia Says: TortoiseSVN

Your Turn to Talk

What about you? What Version Control System do you use? Which one is your favorite? If you have any other Version Control Systems to add or something else to say, please share your opinion in the comments section below. Your opinion matters, unless it is a Spam.

If you found this post useful, please consider: linking back to it, subscribing by email to future posts, or subscribing to the RSS feed to have new articles delivered to your feed reader, or feel free to donate. Thanks!

About the Author |
Boutros is a professional Drupal & WordPress developer, Web developer, Web designer, Software Engineer and Blogger. He strives for pixel perfect design, clean robust code, and user-friendly interface. If you have a project in mind and like his work, feel free to contact him. Connect with Boutros on Twitter, and LinkedIn.
Visit Boutros AbiChedid Website.

One Response to “Top 4 Free Version Control Systems For 2012”

  1. Mats Nordgren says:

    I’m slowly coming to the conclusion that the inherent complexity of distributed version control is simply a waste in most corporate settings. From the list you have compiled, I’d say that only Subversion will actually support a development process which is itself rather centralized, demanding things like code escrow, common well-defined builds to test on and a managed release process.