Main navigation | Main content
Revision control systems are used to manage changes to documents or programs. It can be very helpful if you have a group working on a coding project with a shared code base. It stores a history of file changes and allow multiple people to work on the same code at the same time.
There are two schemes that are currently popular in revision control systems, centralized and distributed. In a traditional centralized model, you can have a main serve that everyone pulls from and pushes changes to. It keeps things organized very nicely for group projects, but you are limited because you need to be in contact with the server whenever you want to push/pull a change. The working directory only has a subset of the history. In a distributed system, you pull changes from somewhere else, making your changes, and then tell people in your group to pull your changes. This way everyone has a full copy of the tree making it much easier to work on a laptop or in a disconnected environment. You can see the difference between how these schemes work below.
Distributed revision control systems are newer and gaining traction. They add flexibility but are more complex to learn. These systems can be setup similar to the traditional centralized systems and are not subject to the same limitations.
We currently support four revision control systems, two that are centralized:
and two that are distributed:
If you are trying to decide which revision control system to use, we recommend using GIT or Subversion. The services that we provide for these GIT and Subversion are better and we will be more able to help you with any problems you might encounter. Both GIT and Mercurial are newer technologies and offer advantages over Subversion. While Subversion is a successor to CVS and is much easier to work with. None of our new projects will use CVS, however we will still support it.