Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rcs(1L) — 386BSD 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

co(1L)

ci(1L)

ident(1L)

rcsdiff(1L)

rcsintro(1L)

rcsmerge(1L)

rlog(1L)

rcsfile(5L)



RCS(1L)                                                   RCS(1L)


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(1L).

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

       -b[rev]    sets  the  default  branch  to  rev.  If rev is
                  omitted, the default branch  is  reset  to  the
                  (dynamically) highest branch on the trunk.

       -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(1L)).  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



University                    Purdue                            1




RCS(1L)                                                   RCS(1L)


                  latest  revision  on  the  default  branch   is
                  locked.   Locking prevents overlapping changes.
                  A lock is  removed  with  ci  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.




University                    Purdue                            2




RCS(1L)                                                   RCS(1L)


       -sstate[:rev]
                  sets the state attribute of the revision rev to
                  state.  If rev is a branch number,  the  latest
                  revision  on that branch is assumed.  If rev is
                  omitted, the latest  revision  on  the  default
                  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(1L)
                  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 standard 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
                  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.

IDENTIFICATION
       Author:  Walter  F.   Tichy,   Purdue   University,   West
       Lafayette, IN, 47907.
       Revision Number: 1.3 ; Release Date: 89/05/02 .
       Copyright (C) 1982, 1988, 1989 by Walter F. Tichy.

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





University                    Purdue                            3


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