12 . if \w'\(lq' .ds lq "\(lq
16 . if \w'\(rq' .ds rq "\(rq
21 rcs \- change RCS file attributes
24 .IR "options file " .\|.\|.
27 creates new \*r files or changes attributes of existing ones.
28 An \*r file contains multiple revisions of text,
29 an access list, a change log,
31 and some control attributes.
34 to work, the caller's login name must be on the access list,
35 except if the access list is empty, the caller is the owner of the file
41 Pathnames matching an \*r suffix denote \*r files;
42 all others denote working files.
43 Names are paired as explained in
45 Revision numbers use the syntax described in
50 Create and initialize a new \*r file, but do not deposit any revision.
51 If the \*r file has no path prefix, try to place it
52 first into the subdirectory
54 and then into the current directory.
56 already exists, print an error message.
59 Append the login names appearing in the comma-separated list
61 to the access list of the \*r file.
64 Append the access list of
66 to the access list of the \*r file.
68 .BR \-e [\f2logins\fP]
69 Erase the login names appearing in the comma-separated list
71 from the access list of the \*r file.
74 is omitted, erase the entire access list.
77 Set the default branch to
81 is omitted, the default
82 branch is reset to the (dynamically) highest branch on the trunk.
85 Set the comment leader to
93 guesses the comment leader from the suffix of the working filename.
96 This option is obsolescent, since \*r normally uses the preceding
98 line's prefix when inserting log lines during checkout (see
100 However, older versions of \*r use the comment leader instead of the
103 if you plan to access a file with both old and new versions of \*r,
104 make sure its comment leader matches its
110 Set the default keyword substitution to
112 The effect of keyword substitution is described in
121 overrides this default.
130 to restore the normal default keyword substitution.
133 Lock the revision with number
135 If a branch is given, lock the latest revision on that branch.
138 is omitted, lock the latest revision on the default branch.
139 Locking prevents overlapping changes.
140 If someone else already holds the lock, the lock is broken as with
145 Unlock the revision with number
147 If a branch is given, unlock the latest revision on that branch.
150 is omitted, remove the latest lock held by the caller.
151 Normally, only the locker of a revision can unlock it.
152 Somebody else unlocking a revision breaks the lock.
153 This causes a mail message to be sent to the original locker.
154 The message contains a commentary solicited from the breaker.
155 The commentary is terminated by end-of-file or by a line containing
162 Strict locking means that the owner
163 of an \*r file is not exempt from locking for checkin.
164 This option should be used for files that are shared.
167 Set locking to non-strict. Non-strict locking means that the owner of
168 a file need not lock a revision for checkin.
171 be used for files that are shared.
172 Whether default locking is strict is determined by your system administrator,
173 but it is normally strict.
175 \f3\-m\fP\f2rev\fP\f3:\fP\f2msg\fP
182 Do not send mail when breaking somebody else's lock.
183 This option is not meant for casual use;
184 it is meant for programs that warn users by other means, and invoke
186 only as a low-level lock-breaking operation.
188 \f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
189 Associate the symbolic name
194 Delete the symbolic name if both
198 are omitted; otherwise, print an error message if
200 is already associated with
204 is symbolic, it is expanded before association.
207 consisting of a branch number followed by a
209 stands for the current latest revision in the branch.
214 stands for the current latest revision on the default branch,
217 .BI "rcs\ \-n" name ":\ RCS/*"
220 with the current latest revision of all the named \*r files;
222 .BI "rcs\ \-n" name ":$\ RCS/*"
225 with the revision numbers extracted from keyword strings
226 in the corresponding working files.
228 \f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
231 except override any previous assignment of
235 deletes (\*(lqoutdates\*(rq) the revisions given by
237 A range consisting of a single revision number means that revision.
238 A range consisting of a branch number means the latest revision on that
249 means from the beginning of the branch containing
258 to the end of the branch containing
260 None of the outdated revisions can have branches or locks.
263 Run quietly; do not print diagnostics.
266 Run interactively, even if the standard input is not a terminal.
268 .B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP
269 Set the state attribute of the revision
275 is a branch number, assume the latest revision on that branch.
278 is omitted, assume the latest revision on the default branch.
279 Any identifier is acceptable for
281 A useful set of states
292 sets the state of a revision to
296 Write descriptive text from the contents of the named
298 into the \*r file, deleting the existing text.
301 pathname cannot begin with
305 is omitted, obtain the text from standard input,
306 terminated by end-of-file or by a line containing
309 Prompt for the text if interaction is possible; see
313 descriptive text is obtained
319 Write descriptive text from the
321 into the \*r file, deleting the existing text.
324 Preserve the modification time on the \*r file
325 unless a revision is removed.
326 This option can suppress extensive recompilation caused by a
328 dependency of some copy of the working file on the \*r file.
329 Use this option with care; it can suppress recompilation even when it is needed,
330 i.e. when a change to the \*r file
331 would mean a change to keyword strings in the working file.
334 Print \*r's version number.
346 to characterize \*r files.
354 as the default time zone.
355 This option has no effect;
356 it is present for compatibility with other \*r commands.
358 At least one explicit option must be given,
359 to ensure compatibility with future planned extensions
366 option generates an \*r file that cannot be parsed by \*r version 3 or earlier.
372 generate an \*r file that cannot be parsed by \*r version 4 or earlier.
376 to make an \*r file acceptable to \*r version
378 by discarding information that would confuse version
381 \*r version 5.5 and earlier does not support the
383 option, and requires a
385 suffix on an \*r pathname.
388 accesses files much as
391 except that it uses the effective user for all accesses,
392 it does not write the working file or its directory,
393 and it does not even read the working file unless a revision number of
399 options prepended to the argument list, separated by spaces.
404 The \*r pathname and the revisions outdated are written to
405 the diagnostic output.
406 The exit status is zero if and only if all operations were successful.
408 Author: Walter F. Tichy.
410 Manual Page Revision: \*(Rv; Release Date: \*(Dt.
412 Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
414 Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
416 rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1),
417 rcsmerge(1), rlog(1), rcsfile(5)
420 \*r\*-A System for Version Control,
421 .I "Software\*-Practice & Experience"
423 7 (July 1985), 637-654.
425 A catastrophe (e.g. a system crash) can cause \*r to leave behind
426 a semaphore file that causes later invocations of \*r to claim
427 that the \*r file is in use.
428 To fix this, remove the semaphore file.
429 A semaphore file's name typically begins with
434 The separator for revision ranges in the
440 but this leads to confusion when symbolic names contain
442 For backwards compatibility
444 still supports the old
446 separator, but it warns about this obsolete use.
448 Symbolic names need not refer to existing revisions or branches.
451 option does not remove symbolic names for the outdated revisions; you must use