This area is an archive and is no longer actively maintained. Information found on this page is likely to be extremely out of date and therefore highly inaccurate. We recommend the Ximbiot - CVS Wiki for up-to-date information about CVS and its associtated tools.

If you do find anything useful on this page that is not yet in the Ximbiot - CVS Wiki and you have the time, please add it!

Revision Control System (RCS )

RCS is a version control system. It offers a basic level of functionality (for example, it operates on one file at a time). We generally recommend a more powerful system, such as CVS, even for beginners.


RCS has been widely ported and reimplemented. The free version of RCS is often called GNU RCS to distinguish it from the non-free implementations.

CVS and RCS

CVS and RCS both store version histories in a file format known as RCS files. This format is documented in the rcsfile(5) manpage in the RCS distribution and the file doc/RCSFILES in a current CVS distribution. A large number of tools have the ability to at least import this format.

CVS 1.9 and earlier were also implemented by calling RCS programs, but this is no longer true as of CVS 1.10.

Of course, implementation details aside, CVS and RCS share a common heritage. The fact that the output format from the "cvs log" command is identical to the output format from the RCS "rlog" command is not a coincidence.

Binary Files and RCS

RCS can handle binary files, but it can be a bit tricky to set up. If building from sources, follow the instructions in the RCS source distribution very carefully. Some RCS executable distributions will handle binary files correctly. Once you have it set up, consult the RCS documentation (quick summary: make sure to specify -kb).

How Do I Tell What Version of RCS I Have?

Run the "co -V" command. Recent versions of GNU RCS will print a version number, for example "RCS version 5.6.6 (beta)". If you get "co error: unknown option: -V", you probably have a version of GNU RCS older than about 5.6 or so (I wasn't able to verify the exact cutoff). If you get some other message, you may have a package other than GNU RCS (GNU RCS is not the only program with a "co" command).

RCS Standards

There are no formal standards specifying the RCS command line or file format but there are written specifications.

The RCS file format is described in the rcsfile(5) manpage from the RCS distribution and the doc/RCSFILES file in the CVS source distribution.

The RCS command line is described in the manpages from the RCS distribution.

RCS and the Year 2000

The year in an RCS file is two digits if the year is before 2000 or four digits thereafter. We believe RCS has implemented this behavior starting with approximately RCS version 5.1.


Where to Get Revision Control System (RCS ):

  • There are various source and executable distributions of RCS. That site includes executables for RCS for Windows 95/NT. It can be identified by the fact that the ZIP file, rcs57nt.zip, contains only the RCS executables, not even a README file or anything. There is no documentation here, but the RCS 5.7 manpages from the RCS 5.7 source distribution apply (the manpages are also printed in the Practical book mentioned below).
  • There is version for DOS by Kai Uwe Rommel
  • The Official RCS Homepage also contains the sources, rcs57src.zip. This one is dated 29 Jan 1997; in addition to RCS it contains the "rcsfront" package (which is not widely known), which consists of programs like cii.exe. We have heard even less about this version.
  • For the Macintosh, there is a port by Tim Endres and Matthias Neeracher. See the file RCS_23Feb94.sit.bin.

More Information:

  • Programming with GNU Software is an introduction to the GNU software development tools running on UNIX. Chapter 8 introduces RCS and also discusses a few of the more advanced features of RCS. The CD-ROM which accompanies the book includes a copy of RCS, including executables for six Unix platforms.
  • Practical Software Configuration Management by Tim Mikkelsen and Suzanne Pherigo, 1997, gets individuals and small teams started with configuration management. The book covers basic RCS usage and also discusses the larger issues that are illustrated by the RCS examples. The book also contains a printed copy of the RCS documentation ("manpages"). The CD-ROM which accompanies the book includes a copy of RCS, including binaries for Windows 95/NT.
  • A Practical Guide to Linux covers many aspects of Linux. The chapter on Programming Tools contains a section which introduces RCS usage (pages 559-567). Part II of the book includes a reference manual for the most common RCS commands and options.

Mailing Lists and Newsgroups:

  • The newsgroup for RCS (and other version control systems) is comp.software.config-mgmt.

Derek Price, CVS developer and technical editor of Essential CVS (Essentials line from O'Reilly Press) , and others offer consulting services and training through Ximbiot.