RCS (Revision Control System)

RCS, the Revision Control System, was written by Walter F. Tichy at Purdue University in the early 1980s as a simpler alternative to SCCS. The GNU project, which maintains RCS today, describes it as a system that “manages multiple revisions of files” and automates the storing, retrieval, logging, identification, and merging of revisions.

Tichy described the design in “RCS - A System for Version Control,” published in Software: Practice and Experience in 1985; the GNU project hosts a copy of that paper. The paper presents RCS as a tool for managing revisions of text files such as source programs, documentation, and test data, and explains how it stores and retrieves those revisions and how it can identify and merge them.

RCS stores history efficiently by keeping a full copy of the most recent version of a file and then a chain of reverse differences, called deltas, that let it reconstruct any earlier version. The GNU RCS page notes that modern RCS uses GNU Diffutils to compute the differences between versions.

Like SCCS, RCS worked on individual files rather than whole projects, and programmers checked files out and back in to record revisions. Its simpler command set and storage model made it popular through the 1980s and 1990s, and it became the building block for CVS, which added project-wide and networked operation on top of RCS-style per-file history.

Sources

Last verified June 8, 2026