RCS vs. SCCS

Mark Runyan runyan at hpcuhc.HP.COM
Sat Mar 17 04:47:40 AEST 1990


>/ hpcuhc:comp.unix.questions / holtz at csmil.umich.edu / 12:41 pm  Mar 15, 1990 /
>
>What are the differences between RCS and SCCS?
>----------

A simple questions that has a complicated and long answer.

Possible short answers.

1. SCCS is supported by AT&T.  RCS isn't.

2. RCS allows you treat a set of files as a family of files while SCCS is
   meant primarily for keeping the revision history of files.  RCS has
   the ability to use symbolic names to point to sets of revisions.

3. [religious argument] RCS has an easier interface for first time users.
   SCCS has more options for determining when a specific line of code
   was added to a system.

4. RCS files are directly editable.  SCCS files should only be acted on 
   by the SCCS tools.

5. RCS keeps history in files with a ",v" suffix.  SCCS keeps history in
   files with a "s." prefix.

6. Locks are kept in separate files for SCCS.  A lock on an RCS file is 
   kept in the RCS file.

7. RCS stores its revisions so retrieval of the latest revision is quick
   and easy, but early revisions take longer.  SCCS stores revisions so
   that recovering any given revision takes a constant amount of time which
   increases with the number of revisions stored.

8. You can translate SCCS to RCS, but not the other way.

9. They use different keywords that are expanded in the text.  For SCCS
   the keyword "%R%" is replaced with the revision number if the file
   is checked out for reading.  In RCS, the keyword $Revision$ has the
   revision number added to it when the file is checked out (either
   locked or not).

Other than that (and a few more others may throw in) they are essentially
the same.  As a comparison of the commands:

   SCCS Command                RCS Command             Explanation
 admin -i -nfile s.file          ci file,v     Checks in the file for the
						first time, creating the
						revision history file.
 get s.file                      co file,v     Check out a file for reading.
 get -e s.file                  co -l file,v   Check out a file for modification
 delta s.file                   ci file,v      Check in a file previously
						locked
 prs s.file                     rlog file,v    Print a history of the file.
sccsdiff -rx -ry s.file  rcsdiff -rx -ry file,v  Compare two revisions.
    ???                        rcs -l file,v   Lock the latest revision
    ???                        rcs -u file,v   Unlock the latest revision.
						Possible to break another's 
						lock, but mail is sent to
						the other person to explain
						why.

For more details, read

"RCS - A system for Version Control", Walter Tichy, _Software_Practice_and_
  Experience_, Vol 15(7), 637-654 (July 1985)

"Design, Implementation, and Evaluation of a Revision Control System", Walter 
  Tichy, _IEEE_, 58-67, (??? 1982)



More information about the Comp.unix.questions mailing list