University of Minnesota
Computer Science & Engineering Help Pages
/

Revision Control Systems

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.

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 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.

RCS Schemes

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.

Supported revision control systems

We currently support four revision control systems, two that are centralized:

and two that are 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.

Contact: 1-213 Keller Hall, 200 Union St SE, Minneapolis, MN 55455   Phone: (612) 625-0876   Email: operator@cs.umn.edu