The Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, including source code, programs, documentation, graphics, papers, and form letters.
RCS design is an improvement from its predecessor Source Code Control System (SCCS) (see GNU CSSC). The improvements include an easier user interface and improved storage of versions for faster retrieval. RCS improves performance by storing an entire copy of the most recent version and then stores reverse differences (called "deltas"). RCS uses GNU Diffutils to find the differences between versions.
Download / News
Latest release: 5.9.2 (2013-11-28)
avoid possibly failing command in backticks
Some versions of Solaris /bin/sh would cause the extract-help build script to exit failurefully when the grep command in the backticks failed (in the presence of
"set -e"). Sigh.
handle low-memory situations like RCS 5.7 (mostly)
For reading comma-v files, RCS 5.7 tries mmap(2), in-core snarfing, and stdio access, falling back to slower methods on failure of the faster method. RCS 5.8 maintained the order, but did not fall back; on failure, it gave up immediately. This change was originally viewed as a feature, but lately it seemed more like a bug.
Now, RCS 5.7 behavior is for the most part restored. The exception is when env var ‘
RCS_MEM_LIMIT’ is set; in that case, failure of a fast method does not fall back to the slower one.
default for env var ‘
This used to be 256 kilobytes, a reasonable value a long time ago, but ridiculously low nowadays. Now, it is
"unlimited", which is more in line w/ the GNU philosophy, anyway:
(info "(standards) Semantics")
Since the env var is mostly intended for testing RCS, you can normally leave it unset. (Probably it will be removed in a future release.)
- maintenance tools updated
- automake (GNU automake) 1.14
- gnulib-tool (GNU gnulib 2013-11-28 08:46:06) 0.1.21-37f8a
Documentation for RCS is available online, as is documentation for most GNU software. You may also find more information about RCS by running info rcs or by looking at /usr/share/doc/rcs/, /usr/local/doc/rcs/, or similar directories on your system.
RCS has the following mailing lists:
Security reports that should not be made immediately public can be sent directly to the maintainer. If there is no response to an urgent issue, you can escalate to the general security mailing list for advice.
Development of RCS, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).
- For development sources, issue trackers, and other information, please see the RCS project page at savannah.gnu.org.
- RCS is currently being maintained by Thien-Thi Nguyen. Please use the mailing lists for contact.
RCS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.