From: tmatimar@empress.com (Ted M A Timar)
Newsgroups: comp.unix.questions,comp.unix.shell,news.answers
Subject: Unix - Frequently Asked Questions (7/7) [Frequent posting]
Supersedes: <unix-faq/faq/part7_726386543@athena.mit.edu>
Followup-To: comp.unix.questions
Date: 21 Jan 1993 06:03:07 GMT
Organization: Empress Software
Distribution: world
Expires: 18 Feb 1993 06:02:22 GMT
NNTP-Posting-Host: pit-manager.mit.edu
X-Last-Updated: 1992/12/09

Archive-name: unix-faq/faq/part7
Version: $Id: part7,v 2.1 92/12/04 07:44:00 tmatimar Exp $

These seven articles contain the answers to some Frequently Asked
Questions often seen in comp.unix.questions and comp.unix.shell.
Please don't ask these questions again, they've been answered plenty
of times already - and please don't flame someone just because they may
not have read this particular posting.  Thank you.

These articles are divided approximately as follows:

      1.*) General questions.
      2.*) Relatively basic questions, likely to be asked by beginners.
      3.*) Intermediate questions.
      4.*) Advanced questions, likely to be asked by people who thought
	   they already knew all of the answers.
      5.*) Questions pertaining to the various shells, and the differences.
      6.*) An overview of Unix variants.
      7.*) An comparison of configuration management systems (RCS, SCCS).

This article includes answers to:

      7.1)  RCS vs SCCS:  Introduction
      7.2)  RCS vs SCCS:  How do the interfaces compare?
      7.3)  RCS vs SCCS:  What's in a Revision File?
      7.4)  RCS vs SCCS:  What are the keywords?
      7.5)  What's an RCS symbolic name?
      7.6)  RCS vs SCCS:  How do they compare for performance?
      7.7)  RCS vs SCCS:  Version Identification.
      7.8)  RCS vs SCCS:  How do they handle with problems?
      7.9)  RCS vs SCCS:  Conversion.
      7.10) RCS vs SCCS:  Support
      7.11) RCS vs SCCS:  Command Comparison
      7.12) RCS vs SCCS:  Acknowledgements
      7.13) Can I get more information on configuration management systems?

If you're looking for the answer to, say, question 7.5, and want to skip
everything else, you can search ahead for the regular expression "^7.5)".

While these are all legitimate questions, they seem to crop up in
comp.unix.questions or comp.unix.shell on an annual basis, usually
followed by plenty of replies (only some of which are correct) and then
a period of griping about how the same questions keep coming up.  You
may also like to read the monthly article "Answers to Frequently Asked
Questions" in the newsgroup "news.announce.newusers", which will tell
you what "UNIX" stands for.

With the variety of Unix systems in the world, it's hard to guarantee
that these answers will work everywhere.  Read your local manual pages
before trying anything suggested here.  If you have suggestions or
corrections for any of these answers, please send them to to
tmatimar@empress.com.

7.1)  RCS vs SCCS:  Introduction

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      The majority of the replies (in a recent poll) were in favor of
      RCS, a few for SCCS, and a few suggested alternatives such as CVS.

      Functionally RCS and SCCS are practically equal, with RCS having
      a bit more features since it continues to be updated.

      Note that RCS learned from the mistakes of SCCS...

7.2)  RCS vs SCCS:  How do the interfaces compare?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      RCS has an easier interface for first time users.  There are less
      commands, it is more intuitive and consistent, and it provides
      more useful arguments.

      Branches have to be specifically created in SCCS.  In RCS, they
      are checked in as any other version.

7.3)  RCS vs SCCS:  What's in a Revision File?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

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

      RCS looks for RCS files automatically in the current directory or
      in a RCS subdirectory, or you can specify an alternate RCS file.
      The sccs front end to SCCS always uses the SCCS directory.  If
      you don't use the sccs front end, you must specify the full SCCS
      filename.

      RCS stores its revisions by holding a copy of the latest version
      and storing backward deltas.  SCCS uses a "merged delta"
      concept.

      All RCS activity takes place within a single RCS file.  SCCS
      maintains several files.  This can be messy and confusing.

      Editing either RCS or SCCS files is a bad idea because mistakes
      are so easy to make and so fatal to the history of the file.
      Revision information is easy to edit in both types, whereas one
      would not want to edit the actual text of a version in RCS.  If
      you edit an SCCS file, you will have to recalculate the checksum
      using the admin program.

7.4)  RCS vs SCCS:  What are the keywords?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      RCS and SCCS use different keywords that are expanded in the
      text.  For SCCS the keyword "%I%" is replaced with the revision
      number if the file is checked out for reading.

      The RCS keywords are easier to remember, but keyword expansion is
      more easily customized in SCCS.

      In SCCS, keywords are expanded on a read-only get.  If a version
      with expanded keywords is copied into a file that will be
      deltaed, the keywords will be lost and the version information in
      the file will not be updated.  On the other hand, RCS retains the
      keywords when they are expanded so this is avoided.

7.5)  What's an RCS symbolic name?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      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 accomplishes that with symbolic names: you can mark all the
      source files associated with an application version with `rcs
      -n', and then easily retrieve them later as a cohesive unit.  In
      SCCS you would have to do this by writing a script to write or
      read all file names and versions to or from a file.

7.6)  RCS vs SCCS:  How do they compare for performance?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      Since RCS stores the latest version in full, it is much faster in
      retrieving the latest version.  After RCS version 5.6, it is also
      faster than SCCS in retrieving older versions.

7.7)  RCS vs SCCS:  Version Identification.

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      SCCS is able to determine when a specific line of code was added
      to a system.

7.8)  RCS vs SCCS:  How do they handle with problems?

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      If you are missing the sccs or rcs tools, or the RCS or SCCS file
      is corrupt and the tools don't work on it, you can still retrieve
      the latest version in RCS.  Not true with SCCS.

7.9)  RCS vs SCCS:  Conversion.

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      RCS provides a program to convert from SCCS to RCS.  One would
      have to write his own program to convert from RCS to SCCS.

7.10) RCS vs SCCS:  Support

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      SCCS is supported by AT&T.  RCS is supported by the Free Software
      Foundation.  Therefore RCS runs on many more platforms, including
      PCs.

      Most make programs recognize SCCS's "s."  prefix while GNU make
      is one of the few that handles RCS's ",v" suffix.

      Some tar programs have a -F option that ignores either RCS
      directories, or SCCS directories or both.

7.11) RCS vs SCCS:  Command Comparison

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      SCCS                        RCS                   Explanation
      ====                        ===                   ===========

      sccs admin -i -nfile file   ci file               Checks in the file
                                                        for the first time,
                                                        creating the revision
                                                        history file.

      sccs get file               co file               Check out a file for
                                                        reading.

      sccs edit file              co -l file            Check out a file for
                                                        modification.

      sccs delta file             ci file               Check in a file
                                                        previously locked.

      what file                   ident file            Print keyword
                                                        information.

      sccs prs file               rlog file             Print a history of
                                                        the file.

      sccs sccsdiff -rx -ry file  rcsdiff -rx -ry file  Compare two
                                                        revisions.

      sccs diffs file             rcsdiff file          Compare current with
                                                        last revision.

      sccs edit -ix-y file        rcsmerge -rx-y file   Merge changes between
                                                        two versions into
                                                        file.

      ???                         rcs -l file           Lock the latest
                                                        revision.

      ???                         rcs -u file           Unlock the latest
                                                        revision.  Possible
                                                        to break another's 
                                                        lock, but mail is
                                                        sent to the other
                                                        user explaining why.

7.12) RCS vs SCCS:  Acknowledgements

      Date: Sat, 10 Oct 92 19:34:39 +0200
      From: Bill Wohler <wohler@sap-ag.de>

      I would like to thank the following persons for contributing to
      these articles.  I'd like to add your name to the list--please
      send comments or more references to Bill Wohler <wohler@sap-ag.de>.

	Karl Vogel <vogel@c-17igp.wpafb.af.mil>
	Mark Runyan <runyan@hpcuhc.cup.hp.com>
	Paul Eggert <eggert@twinsun.com>
	Greg Henderson <henders@infonode.ingr.com>
	Dave Goldberg <dsg@mbunix.mitre.org>
	Rob Kurver <rob@pact.nl>
	Raymond Chen <rjc@math.princeton.edu>
	Dwight <dwight@s1.gov>

7.13) Can I get more information on configuration management systems?

      Date: Thu Oct 15 10:27:47 EDT 1992
      From: Ted Timar <tmatimar@empress.com>

      Bill Wohler, who compiled all of the information in this part of
      the FAQ, has compiled much more information.  This information is
      available for ftp from ftp.wg.omron.co.jp (133.210.4.4) under
      "pub/unix-faq/docs/rev-ctl-sys".
Newsgroups: comp.unix.questions