Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rcs(1) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ident(1)



     RCS(1)                                                     RCS(1)



     NAME
          rcs - change RCS file attributes

     SYNOPSIS
          rcs [ options ] file ...

     DESCRIPTION
          rcs creates new RCS files or changes attributes of existing
          ones.  An RCS file contains multiple revisions of text, an
          access list, a change log, descriptive text, and some
          control attributes.  For rcs to work, the caller's login
          name must be on the access list, except if the access list
          is empty, the caller is the owner of the file or the
          superuser, or the -i option is present.

          Files ending in `,v' are RCS files, all others are working
          files. If a working file is given, rcs tries to find the
          corresponding RCS file first in directory ./RCS and then in
          the current directory, as explained in co (1).

          -i         creates and initializes a new RCS file, but does
                     not deposit any revision.  If the RCS file has no
                     path prefix, rcs tries to place it first into the
                     subdirectory ./RCS, and then into the current
                     directory.  If the RCS file already exists, an
                     error message is printed.

          -alogins   appends the login names appearing in the comma-
                     separated list logins to the access list of the
                     RCS file.

          -Aoldfile  appends the access list of oldfile to the access
                     list of the RCS file.

          -e[logins] erases the login names appearing in the comma-
                     separated list logins from the access list of the
                     RCS file.  If logins is omitted, the entire
                     access list is erased.

          -cstring   sets the comment leader to string. The comment
                     leader is printed before every log message line
                     generated by the keyword $Log$  during checkout
                     (see co). This is useful for programming
                     languages without multi-line comments. During rcs
                     -i or initial ci, the comment leader is guessed
                     from the suffix of the working file.

          -l[rev]    locks the revision with number rev.  If a branch
                     is given, the latest revision on that branch is
                     locked.  If rev is omitted, the latest revision
                     on the trunk is locked.  Locking prevents
                     overlapping changes.  A lock is removed with ci



     Page 1                                        (last mod. 8/20/87)





     RCS(1)                                                     RCS(1)



                     or rcs -u (see below).

          -u[rev]    unlocks the revision with number rev.  If a
                     branch is given, the latest revision on that
                     branch is unlocked.  If rev is omitted, the
                     latest lock held by the caller is removed.
                     Normally, only the locker of a revision may
                     unlock it.  Somebody else unlocking a revision
                     breaks the lock. This causes a mail message to be
                     sent to the original locker.  The message
                     contains a commentary solicited from the breaker.
                     The commentary is terminated with a line
                     containing a single `.' or control-D.

          -L         sets locking to strict. Strict locking means that
                     the owner of an RCS file is not exempt from
                     locking for checkin.  This option should be used
                     for files that are shared.

          -U         sets locking to non-strict. Non-strict locking
                     means that the owner of a file need not lock a
                     revision for checkin. This option should NOT be
                     used for files that are shared.  The default (-L
                     or -U) is determined by your system
                     administrator.

          -nname[:rev]
                     associates the symbolic name name with the branch
                     or revision rev. Rcs prints an error message if
                     name is already associated with another number.
                     If rev is omitted, the symbolic name is deleted.

          -Nname[:rev]
                     same as -n, except that it overrides a previous
                     assignment of name.

          -orange    deletes (``outdates'') the revisions given by
                     range.  A range consisting of a single revision
                     number means that revision.  A range consisting
                     of a branch number means the latest revision on
                     that branch.  A range of the form rev1-rev2 means
                     revisions rev1 to rev2 on the same branch, -rev
                     means from the beginning of the branch containing
                     rev up to and including rev, and rev- means from
                     revision rev to the end of the branch containing
                     rev.  None of the outdated revisions may have
                     branches or locks.

          -q         quiet mode; diagnostics are not printed.

          -sstate[:rev]
                     sets the state attribute of the revision rev to



     Page 2                                        (last mod. 8/20/87)





     RCS(1)                                                     RCS(1)



                     state. If rev is omitted, the latest revision on
                     the trunk is assumed.  If rev is a branch number,
                     the latest revision on that branch is assumed.
                     Any identifier is acceptable for state.  A useful
                     set of states is Exp (for experimental), Stab
                     (for stable), and Rel (for released).  By
                     default, ci sets the state of a revision to Exp.

          -t[txtfile]
                     writes descriptive text into the RCS file
                     (deletes the existing text).  If txtfile is
                     omitted, rcs prompts the user for text supplied
                     from the std. input, terminated with a line
                     containing a single `.' or control-D.  Otherwise,
                     the descriptive text is copied from the file
                     txtfile.  If the -i option is present,
                     descriptive text is requested even if -t is not
                     given.  The prompt is suppressed if the std.
                     input is not a terminal.

     DIAGNOSTICS
          The RCS file name and the revisions outdated are written to
          the diagnostic output.  The exit status always refers to the
          last RCS file operated upon, and is 0 if the operation was
          successful, 1 otherwise.

     FILES
          The caller of the command must have read/write permission
          for the directory containing the RCS file and read
          permission for the RCS file itself.  Rcs creates a semaphore
          file in the same directory as the RCS file to prevent
          simultaneous update.  For changes, rcs always creates a new
          file. On successful completion, rcs deletes the old one and
          renames the new one.  This strategy makes links to RCS files
          useless.

     IDENTIFICATION
          Author: Walter F. Tichy, Purdue University, West Lafayette,
          IN, 47907.
          Revision Number:  1.1 ; Release Date:  87/03/11 .
c
Copyright 1982 by Walter F. Tichy.
SEE ALSO co (1), ci (1), ident(1), rcsdiff (1), rcsintro (1), rcsmerge (1), rlog (1), rcsfile (4). Walter F. Tichy, ``Design, Implementation, and Evaluation of a Revision Control System,'' in Proceedings of the 6th International Conference on Software Engineering, IEEE, Tokyo, Sept. 1982. ORIGIN 4.2 BSD Page 3 (last mod. 8/20/87)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026