Conceptual Overview

This tutorial aims to give the reader an understanding of the RCS configuration management tool.

Basics of RCS

The Revision Control System (RCS) was designed by Walter Tichy of the Department of Computer Science at Purdue University. RCS is a software tool for UNIX systems which lets people working on the system control "multiple revisions of text ... that is revised frequently, such as programs or documentation." [TIC82] It can be applied to development situations of all sorts, including the creation of documents, drawings, forms, articles, and of course, source code.

In a typical software development environment, many developers will be engaged in work on one code base. If everyone was to be allowed to edit and modify any development item whenever they felt like it, it should be obvious that chaos would tend to result while little productive work got done. Instead of suffering under such an environment, most developers prefer to implement version control tools such as the one described here.

Version control tools allow an individual developer to maintain control over an item such as a source file while they implement and test changes to it. During this period, while the file is "checked out", no one else is allowed to modify it. When the developer is satisfied that the changes have been implemented successfully and that they broke nothing in the meantime, the file may be "checked in" to the baseline database for use by everyone. The specifics of this process for RCS will be discussed in the tutorial proper.

Earlier implementations of version control tools include AT&T's SCCS, IBM's CLEAR/CASTER, and DEC's CMS. RCS, implemented in 1982, attempts to fix several shortcomings the author found in previous tools.

Readers interested in learning more about RCS than is presented here are referred to the articles this author used in construction of the tutorial, [TIC82] and [TIC85] (links lead to References page).

Now, on to the hands-on tutorial.