Revision Control System
| Original author(s) | Walter F. Tichy |
|---|---|
| Developer(s) | GNU Project |
| Initial release | 1982 |
| Stable release | 5.8 / August 30, 2011 |
| Written in | C |
| Operating system | Unix-like |
| Type | Revision control |
| License | GNU General Public License |
| Website | www.gnu.org/software/rcs/ |
The Revision Control System (RCS) is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form letters. RCS is also capable of handling binary files, though with reduced efficiency. Revisions are stored with the aid of the diff utility.
Contents |
[edit] Development
RCS was first released in 1982[1][dubious ] by Walter F. Tichy while he was at Purdue University as a free and more evolved alternative to the then-popular Source Code Control System (SCCS). It is now part of the GNU Project, which is still maintaining it. The current stable version is 5.8 (released on August 30, 2011) is the first release since 1995[2].
[edit] Mode of operation
RCS operates only on single files; it has no way of working with an entire project. Although it provides branching for individual files, the version syntax is cumbersome. Instead of using branches, many teams just use the built-in locking mechanism and work on a single head branch.
[edit] Successors
[edit] CVS
A simple system called CVS was developed capable of dealing with RCS files en masse, and this was the next natural step of evolution of this concept, as it “transcends but includes” elements of its predecessor. CVS was originally a set of scripts which used RCS programs to manage the files. It no longer does that; rather, it operates directly on the files.
[edit] PRCS
A later higher-level system PRCS[3] uses RCS-like files but was never simply a wrapper. In contrast to CVS, PRCS improves the delta compression of the RCS files using Xdelta.
[edit] Advantages
In single-user scenarios, such as server configuration files or automation scripts, RCS may still be the preferred revision control tool as it is simple and no central repository needs to be accessible for it to save revisions. This makes it a more reliable tool when the system is in dire maintenance conditions. Additionally, the saved backup files are easily visible to the administration so the operation is straightforward. However, there are no built-in tamper protection mechanisms (that is, users who can use the RCS tools to version a file also, by design, are able to directly manipulate the corresponding version control file) and this is leading some security conscious administrators to consider client/server version control systems that restrict users' ability to alter the version control files.[citation needed]
[edit] Application
Some wiki engines, including TWiki, use RCS for storing page revisions.
[edit] References
- ^ "RCS man page". http://linuxcommand.org/man_pages/rcs1.html. Retrieved 2010-02-07.
- ^ "GNU RCS at GNU Savannah". http://savannah.gnu.org/projects/rcs/. Retrieved 2010-10-05.
- ^ MacDonald, Joshua P (May 9, 2004). "PRCS, the Project Revision Control System". http://prcs.sourceforge.net/. Retrieved 2008-12-12.
- Notes
- Walter F. Tichy: RCS--A System for Version Control. In: Software—Practice and Experience. July 1985. Volume 15. Number 7. Pages 637-654. References to the paper at CiteSeer
[edit] External links
- Official website
- Original RCS at Purdue
- : RCS file management program – OpenBSD General Commands Manual
|
|||||||||||||||||||||||||||||||||||||||