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.3 (2014-09-17)
compatibility w/ RCS 2.x file format dropped
This was presaged w/ RCS 5.9.0 (released 2013-05-06), below. Effectively, the configure script no longer supports option ‘
--enable-compat2’, and RCS programs will fail, reporting a syntax error, if given a comma-v file in 2.x format.
- bug fixes
crash on co/ci without changes on a branch
RCS 5.8 (released 2011-08-30) introduced a bug whereby a ci without changes (i.e., reversion) on a branch would crash, leaving a temporary files and corrupted comma-v file as well. This regression is now fixed. See tests/t804, and also: http://lists.gnu.org/archive/html/bug-rcs/2014-01/msg00000.html
file corruption using stdio under Cygwin, Darwin
RCS 5.8 (released 2011-08-30) introduced a bug when using stdio (e.g., with env var ‘
RCS_MEM_LIMIT’ set to
"0") under Cygwin whereby ci with a sufficiently large working file would silently write a truncated comma-v file. See tests/t805, and also: http://lists.gnu.org/archive/html/bug-rcs/2014-06/msg00000.html
(Although the bug was initially discovered under Cygwin, the Hydra project reported the same problem for Darwin.)
- portability fixes
don't recurse on ‘
This is for the sake of Cygwin
"make check". See: http://lists.gnu.org/archive/html/bug-rcs/2014-08/msg00015.html
avoid C99 VLA elems in func decl, sometimes
This is for the sake of Solaris 10 + GCC 3.4.3. See: http://lists.gnu.org/archive/html/bug-rcs/2014-08/msg00002.html
new diff/diff3 cross-compilation support
The configure script now assigns
"optimistic defaults"to some diff/diff3-related vars when cross-compiling and invoked with vars ‘
DIFF’ and ‘
DIFF3’. See README.
- maintenance tools updated
- automake (GNU automake) 1.14.1
- gnulib-tool (GNU gnulib 2014-09-16 19:26:48) 0.1.222-aa0c2
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 (tip jar). 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.