Learn about Revision Control Schemes

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 server that everyone pulls from and pushes changes to. It keeps revisions 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, make your changes, and 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 in the images below.

Graphical comparison of control schemes: centralized and distributed.

Distributed revision control systems are newer and gaining traction. They add flexibility but are more complex to learn. These systems can be set up similar to the traditional centralized systems and are not subject to the same limitations.

Supported revision control systems

We currently support three revision control systems, two that are centralized and one that is distributed.



Choosing a revision control system

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.