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  ac‐
16       cess  list  is  empty, the caller is the owner of the file or the supe‐
17       ruser, or the -i option is present.
18
19       Filenames 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 re‐
25              vision.  If the RCS file name has no directory component, try to
26              place it first into the subdirectory ./RCS, and  then  into  the
27              current directory.  If the RCS file already exists, print an er‐
28              ror message.
29
30       -alogins
31              Append the login names appearing in the comma-separated list lo‐
32              gins 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  lo‐
40              gins  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 file name.
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 ac‐
57              cess a file with both old and new versions of RCS, make sure its
58              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, un‐
76              lock the latest revision on that branch.  If rev is omitted, re‐
77              move  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.  If RCS was configured --with-mailer,
80              then this causes a mail message  to  be  sent  to  the  original
81              locker.   The  message  contains a commentary solicited from the
82              breaker.  The commentary is terminated by end-of-file  or  by  a
83              line containing . by itself.
84
85       -L     Set  locking  to strict.  Strict locking means that the owner of
86              an RCS file is not exempt from locking for checkin.  This option
87              should be used for files that are shared.
88
89       -U     Set  locking  to  non-strict.  Non-strict locking means that the
90              owner of a file need not lock a revision for checkin.  This  op‐
91              tion  should not be used for files that are shared.  Whether de‐
92              fault locking is strict is determined by your system administra‐
93              tor, but it is normally strict.
94
95       -mrev:[msg]
96              Replace revision rev's log message with msg.  If msg is omitted,
97              it defaults to "*** empty log message ***".
98
99       -M     Do not send mail when breaking somebody else's lock.   This  op‐
100              tion  is not meant for casual use; it is meant for programs that
101              warn users by other means, and invoke rcs -u only as a low-level
102              lock-breaking operation.
103
104       -nname[:[rev]]
105              Associate  the  symbolic  name  name with the branch or revision
106              rev.  Delete the symbolic name if both : and  rev  are  omitted;
107              otherwise,  print an error message if name is already associated
108              with another number.  If rev is symbolic, it is expanded  before
109              association.   A rev consisting of a branch number followed by a
110              . stands for the current latest revision in  the  branch.   A  :
111              with  an empty rev stands for the current latest revision on the
112              default   branch,   normally   the    trunk.     For    example,
113              rcs -nname: RCS/*  associates name with the current latest revi‐
114              sion  of  all  the  named  RCS  files;   this   contrasts   with
115              rcs -nname:$ RCS/*  which associates name with the revision num‐
116              bers extracted from keyword strings in the corresponding working
117              files.
118
119       -Nname[:[rev]]
120              Act like -n, except override any previous assignment of name.
121
122       -orange
123              deletes (“outdates”) the revisions given by range.  A range con‐
124              sisting of a single revision  number  means  that  revision.   A
125              range consisting of a branch number means the latest revision on
126              that branch.  A range of the form rev1:rev2 means revisions rev1
127              to rev2 on the same branch, :rev means from the beginning of the
128              branch containing rev up to and including rev,  and  rev:  means
129              from revision rev to the end of the branch containing rev.  None
130              of the outdated revisions can have branches or locks.
131
132       -q     Run quietly; do not print diagnostics.
133
134       -I     Run interactively, even if the standard input is not a terminal.
135
136       -sstate[:rev]
137              Set the state attribute of the revision rev to state.  If rev is
138              a  branch number, assume the latest revision on that branch.  If
139              rev is omitted,  assume  the  latest  revision  on  the  default
140              branch.   Any  identifier is acceptable for state.  A useful set
141              of states is Exp (for experimental), Stab (for stable), and  Rel
142              (for  released).  By default, ci(1) sets the state of a revision
143              to Exp.
144
145       -t[file]
146              Write descriptive text from the contents of the named file  into
147              the  RCS file, deleting the existing text.  The file name cannot
148              begin with -.  If file is omitted, obtain the text from standard
149              input,  terminated  by  end-of-file or by a line containing . by
150              itself.  Prompt for the text if interaction is possible; see -I.
151              With -i, descriptive text is obtained even if -t is not given.
152
153       -t-string
154              Write descriptive text from the string into the RCS file, delet‐
155              ing the existing text.
156
157       -T     Preserve the modification time on the RCS file unless a revision
158              is  removed.   This  option can suppress extensive recompilation
159              caused by a make(1) dependency of some copy of the working  file
160              on the RCS file.  Use this option with care; it can suppress re‐
161              compilation even when it is needed, i.e. when a  change  to  the
162              RCS  file  would mean a change to keyword strings in the working
163              file.
164
165       -V     Print RCS's version number.
166
167       -Vn    Emulate RCS version n.  See co(1) for details.
168
169       -xsuffixes
170              Use suffixes to characterize RCS files.  See ci(1) for details.
171
172       -zzone Use zone as the default time zone.  This option has  no  effect;
173              it is present for compatibility with other RCS commands.
174
175       At  least  one  explicit  option must be given, to ensure compatibility
176       with future planned extensions to the rcs command.
177

COMPATIBILITY

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

FILES

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

ENVIRONMENT

198       RCSINIT
199              Options  prepended to the argument list, separated by spaces.  A
200              backslash escapes spaces within an option.  The RCSINIT  options
201              are  prepended to the argument lists of most RCS commands.  Use‐
202              ful RCSINIT options include -q, -V, -x, and -z.
203
204       RCS_MEM_LIMIT
205              Normally, for speed, commands either memory  map  or  copy  into
206              memory  the  RCS file if its size is less than the memory-limit,
207              currently defaulting to ``unlimited''.   Otherwise  (or  if  the
208              initially-tried speedy ways fail), the commands fall back to us‐
209              ing standard i/o routines.  You can adjust the memory  limit  by
210              setting  RCS_MEM_LIMIT to a numeric value lim (measured in kilo‐
211              bytes).  An empty value is silently ignored.  As a side  effect,
212              specifying RCS_MEM_LIMIT inhibits fall-back to slower routines.
213
214       TMPDIR Name  of  the  temporary directory.  If not set, the environment
215              variables TMP and TEMP are inspected instead and the first value
216              found  is  taken;  if none of them are set, a host-dependent de‐
217              fault is used, typically /tmp.
218

DIAGNOSTICS

220       The RCS file name and the revisions outdated are written to  the  diag‐
221       nostic  output.   The exit status is zero if and only if all operations
222       were successful.
223

IDENTIFICATION

225       Author: Walter F. Tichy.
226       Manual Page Revision: 5.10.1; Release Date: 2023-01-20.
227       Copyright © 2010-2022 Thien-Thi Nguyen.
228       Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
229       Copyright © 1982, 1988, 1989 Walter F. Tichy.
230

SEE ALSO

232       co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1), rcsmerge(1),  rlog(1),
233       rcsfile(5).
234
235       Walter  F. Tichy, RCS--A System for Version Control, Software--Practice
236       & Experience 15, 7 (July 1985), 637-654.
237
238       The full documentation for RCS is maintained as a Texinfo  manual.   If
239       the  info(1)  and RCS programs are properly installed at your site, the
240       command
241
242              info rcs
243
244       should give you access to the complete manual.  Additionally,  the  RCS
245       homepage:
246
247              http://www.gnu.org/software/rcs/
248
249       has news and links to the latest release, development site, etc.
250

BUGS

252       A  catastrophe  (e.g.  a  system crash) can cause RCS to leave behind a
253       semaphore file that causes later invocations of RCS to claim  that  the
254       RCS  file  is in use.  To fix this, remove the semaphore file.  A sema‐
255       phore file's name typically begins with , or ends with _.
256
257       The separator for revision ranges in the -o option used to be - instead
258       of  :,  but this leads to confusion when symbolic names contain -.  For
259       backwards compatibility rcs -o still supports the old - separator,  but
260       it warns about this obsolete use.
261
262       Symbolic  names  need not refer to existing revisions or branches.  For
263       example, the -o option does not remove symbolic names for the  outdated
264       revisions; you must use -n to remove the names.
265
266
267
268GNU RCS 5.10.1                    2023-01-20                            RCS(1)
Impressum