Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rcs(1) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

co(1)

ci(1)

ident(1)

rcsdiff(1)

rcsintro(1)

rcsmerge(1)

rlog(1)

sccstorcs(1)

rcsfile(4)



     rcs(1)                     DG/UX 4.30                      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 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



     Licensed material--property of copyright holder(s)         Page 1





     rcs(1)                     DG/UX 4.30                      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 is
                     -L.

          -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.
                     Names must begin with a letter, and cannot
                     contain whitespace, period, colon, semicolon, or
                     @.

          -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.




     Licensed material--property of copyright holder(s)         Page 2





     rcs(1)                     DG/UX 4.30                      rcs(1)



          -sstate[:rev]
                     sets the state attribute of the revision rev to
                     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 string that could be a name (see -n) 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 standard
                     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.

     SEE ALSO
          co(1), ci(1), ident(1), rcsdiff(1), rcsintro(1),
          rcsmerge(1), rlog(1), sccstorcs(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.









     Licensed material--property of copyright holder(s)         Page 3



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