1RCS(1)                      General Commands Manual                     RCS(1)
2
3
4

NAME

6       rcs - change RCS file attributes
7

SYNOPSIS

9       rcs options file ...
10

DESCRIPTION

12       rcs  creates  new RCS files or changes attributes of existing ones.  An
13       RCS file contains multiple revisions of text, an access list, a  change
14       log,  descriptive  text, and some control attributes.  For rcs to work,
15       the caller's login name must be on  the  access  list,  except  if  the
16       access  list is empty, the caller is the owner of the file or the supe‐
17       ruser, or the -i option is present.
18
19       Pathnames matching an RCS suffix denote RCS files;  all  others  denote
20       working  files.  Names are paired as explained in ci(1).  Revision num‐
21       bers use the syntax described in ci(1).
22

OPTIONS

24       -i     Create and initialize a new RCS file, but  do  not  deposit  any
25              revision.   If  the RCS file has no path prefix, try to place it
26              first into the subdirectory ./RCS, and  then  into  the  current
27              directory.   If the RCS file already exists, print an error mes‐
28              sage.
29
30       -alogins
31              Append the login names appearing  in  the  comma-separated  list
32              logins to the access list of the RCS file.
33
34       -Aoldfile
35              Append  the access list of oldfile to the access list of the RCS
36              file.
37
38       -e[logins]
39              Erase the login names  appearing  in  the  comma-separated  list
40              logins from the access list of the RCS file.  If logins is omit‐
41              ted, erase the entire access list.
42
43       -b[rev]
44              Set the default branch to rev.  If rev is omitted,  the  default
45              branch  is  reset  to  the  (dynamically)  highest branch on the
46              trunk.
47
48       -cstring
49              Set the comment leader to string.  An initial ci, or  an  rcs -i
50              without  -c,  guesses  the comment leader from the suffix of the
51              working filename.
52
53              This option is obsolescent, since RCS normally uses the  preced‐
54              ing $Log$ line's prefix when inserting log lines during checkout
55              (see co(1)).  However, older versions of  RCS  use  the  comment
56              leader  instead  of  the  $Log$ line's prefix, so if you plan to
57              access a file with both old and new versions of RCS,  make  sure
58              its comment leader matches its $Log$ line prefix.
59
60       -ksubst
61              Set  the  default  keyword substitution to subst.  The effect of
62              keyword substitution is described in co(1).  Giving an  explicit
63              -k  option  to co, rcsdiff, and rcsmerge overrides this default.
64              Beware rcs -kv, because -kv is  incompatible  with  co -l.   Use
65              rcs -kkv to restore the normal default keyword substitution.
66
67       -l[rev]
68              Lock  the  revision with number rev.  If a branch is given, lock
69              the latest revision on that branch.  If rev is omitted, lock the
70              latest  revision  on the default branch.  Locking prevents over‐
71              lapping changes.  If someone else already holds  the  lock,  the
72              lock is broken as with rcs -u (see below).
73
74       -u[rev]
75              Unlock  the  revision  with  number  rev.  If a branch is given,
76              unlock the latest revision on that branch.  If rev  is  omitted,
77              remove  the  latest lock held by the caller.  Normally, only the
78              locker of a revision can unlock it.  Somebody else  unlocking  a
79              revision breaks the lock.  This causes a mail message to be sent
80              to the original  locker.   The  message  contains  a  commentary
81              solicited  from  the  breaker.   The commentary is terminated by
82              end-of-file or by a line containing . by itself.
83
84       -L     Set locking to strict.  Strict locking means that the  owner  of
85              an RCS file is not exempt from locking for checkin.  This option
86              should be used for files that are shared.
87
88       -U     Set locking to non-strict.  Non-strict locking  means  that  the
89              owner  of  a  file  need  not lock a revision for checkin.  This
90              option should not be used for files that  are  shared.   Whether
91              default  locking is strict is determined by your system adminis‐
92              trator, but it is normally strict.
93
94       -mrev:msg
95              Replace revision rev's log message with msg.
96
97       -M     Do not send mail  when  breaking  somebody  else's  lock.   This
98              option  is  not  meant  for casual use; it is meant for programs
99              that warn users by other means, and invoke rcs -u only as a low-
100              level lock-breaking operation.
101
102       -nname[:[rev]]
103              Associate  the  symbolic  name  name with the branch or revision
104              rev.  Delete the symbolic name if both : and  rev  are  omitted;
105              otherwise,  print an error message if name is already associated
106              with another number.  If rev is symbolic, it is expanded  before
107              association.   A rev consisting of a branch number followed by a
108              . stands for the current latest revision in  the  branch.   A  :
109              with  an empty rev stands for the current latest revision on the
110              default   branch,   normally   the    trunk.     For    example,
111              rcs -nname: RCS/*  associates name with the current latest revi‐
112              sion  of  all  the  named  RCS  files;   this   contrasts   with
113              rcs -nname:$ RCS/*  which associates name with the revision num‐
114              bers extracted from keyword strings in the corresponding working
115              files.
116
117       -Nname[:[rev]]
118              Act like -n, except override any previous assignment of name.
119
120       -orange
121              deletes (“outdates”) the revisions given by range.  A range con‐
122              sisting of a single revision  number  means  that  revision.   A
123              range consisting of a branch number means the latest revision on
124              that branch.  A range of the form rev1:rev2 means revisions rev1
125              to rev2 on the same branch, :rev means from the beginning of the
126              branch containing rev up to and including rev,  and  rev:  means
127              from revision rev to the end of the branch containing rev.  None
128              of the outdated revisions can have branches or locks.
129
130       -q     Run quietly; do not print diagnostics.
131
132       -I     Run interactively, even if the standard input is not a terminal.
133
134       -sstate[:rev]
135              Set the state attribute of the revision rev to state.  If rev is
136              a  branch number, assume the latest revision on that branch.  If
137              rev is omitted,  assume  the  latest  revision  on  the  default
138              branch.   Any  identifier is acceptable for state.  A useful set
139              of states is Exp (for experimental), Stab (for stable), and  Rel
140              (for  released).  By default, ci(1) sets the state of a revision
141              to Exp.
142
143       -t[file]
144              Write descriptive text from the contents of the named file  into
145              the  RCS  file,  deleting  the existing text.  The file pathname
146              cannot begin with -.  If file is omitted, obtain the  text  from
147              standard  input, terminated by end-of-file or by a line contain‐
148              ing . by itself.  Prompt for the text if interaction  is  possi‐
149              ble;  see  -I.  With -i, descriptive text is obtained even if -t
150              is not given.
151
152       -t-string
153              Write descriptive text from the string into the RCS file, delet‐
154              ing the existing text.
155
156       -T     Preserve the modification time on the RCS file unless a revision
157              is removed.  This option can  suppress  extensive  recompilation
158              caused  by a make(1) dependency of some copy of the working file
159              on the RCS file.  Use this option with  care;  it  can  suppress
160              recompilation  even when it is needed, i.e. when a change to the
161              RCS file would mean a change to keyword strings in  the  working
162              file.
163
164       -V     Print RCS's version number.
165
166       -Vn    Emulate RCS version n.  See co(1) for details.
167
168       -xsuffixes
169              Use suffixes to characterize RCS files.  See ci(1) for details.
170
171       -zzone Use  zone  as the default time zone.  This option has no effect;
172              it is present for compatibility with other RCS commands.
173
174       At least one explicit option must be  given,  to  ensure  compatibility
175       with future planned extensions to the rcs command.
176

COMPATIBILITY

178       The  -brev  option  generates  an RCS file that cannot be parsed by RCS
179       version 3 or earlier.
180
181       The -ksubst options (except -kkv) generate an RCS file that  cannot  be
182       parsed by RCS version 4 or earlier.
183
184       Use rcs -Vn to make an RCS file acceptable to RCS version n by discard‐
185       ing information that would confuse version n.
186
187       RCS version 5.5 and  earlier  does  not  support  the  -x  option,  and
188       requires a ,v suffix on an RCS pathname.
189

FILES

191       rcs  accesses  files much as ci(1) does, except that it uses the effec‐
192       tive user for all accesses, it does not write the working file  or  its
193       directory, and it does not even read the working file unless a revision
194       number of $ is specified.
195

ENVIRONMENT

197       RCSINIT
198              options prepended to the argument  list,  separated  by  spaces.
199              See ci(1) for details.
200

DIAGNOSTICS

202       The RCS pathname and the revisions outdated are written to the diagnos‐
203       tic output.  The exit status is zero if and only if all operations were
204       successful.
205

IDENTIFICATION

207       Author: Walter F. Tichy.
208       Manual Page Revision: 5.13; Release Date: 1995/06/05.
209       Copyright © 1982, 1988, 1989 Walter F. Tichy.
210       Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
211

SEE ALSO

213       rcsintro(1),   co(1),   ci(1),   ident(1),   rcsclean(1),   rcsdiff(1),
214       rcsmerge(1), rlog(1), rcsfile(5)
215       Walter F. Tichy, RCS--A System for Version Control,  Software--Practice
216       & Experience 15, 7 (July 1985), 637-654.
217

BUGS

219       A  catastrophe  (e.g.  a  system crash) can cause RCS to leave behind a
220       semaphore file that causes later invocations of RCS to claim  that  the
221       RCS  file  is in use.  To fix this, remove the semaphore file.  A sema‐
222       phore file's name typically begins with , or ends with _.
223
224       The separator for revision ranges in the -o option used to be - instead
225       of  :,  but this leads to confusion when symbolic names contain -.  For
226       backwards compatibility rcs -o still supports the old - separator,  but
227       it warns about this obsolete use.
228
229       Symbolic  names  need not refer to existing revisions or branches.  For
230       example, the -o option does not remove symbolic names for the  outdated
231       revisions; you must use -n to remove the names.
232
233
234
235GNU                               1995/06/05                            RCS(1)
Impressum