5 .Id $FreeBSD: src/gnu/usr.bin/rcs/rcs/rcs.1,v 1.5 1999/08/27 23:36:52 peter Exp $
6 .Id $DragonFly: src/gnu/usr.bin/rcs/rcs/rcs.1,v 1.2 2003/06/17 04:25:47 dillon Exp $
13 . if \w'\(lq' .ds lq "\(lq
17 . if \w'\(rq' .ds rq "\(rq
22 rcs \- change RCS file attributes
25 .IR "options file " .\|.\|.
28 creates new \*r files or changes attributes of existing ones.
29 An \*r file contains multiple revisions of text,
30 an access list, a change log,
32 and some control attributes.
35 to work, the caller's login name must be on the access list,
36 except if the access list is empty, the caller is the owner of the file
42 Pathnames matching an \*r suffix denote \*r files;
43 all others denote working files.
44 Names are paired as explained in
46 Revision numbers use the syntax described in
51 Create and initialize a new \*r file, but do not deposit any revision.
52 If the \*r file has no path prefix, try to place it
53 first into the subdirectory
55 and then into the current directory.
57 already exists, print an error message.
60 Append the login names appearing in the comma-separated list
62 to the access list of the \*r file.
65 Append the access list of
67 to the access list of the \*r file.
69 .BR \-e [\f2logins\fP]
70 Erase the login names appearing in the comma-separated list
72 from the access list of the \*r file.
75 is omitted, erase the entire access list.
78 Set the default branch to
82 is omitted, the default
83 branch is reset to the (dynamically) highest branch on the trunk.
86 Set the comment leader to
94 guesses the comment leader from the suffix of the working filename.
97 This option is obsolescent, since \*r normally uses the preceding
99 line's prefix when inserting log lines during checkout (see
101 However, older versions of \*r use the comment leader instead of the
104 if you plan to access a file with both old and new versions of \*r,
105 make sure its comment leader matches its
111 Set the default keyword substitution to
113 The effect of keyword substitution is described in
122 overrides this default.
131 to restore the normal default keyword substitution.
134 Lock the revision with number
136 If a branch is given, lock the latest revision on that branch.
139 is omitted, lock the latest revision on the default branch.
140 Locking prevents overlapping changes.
141 If someone else already holds the lock, the lock is broken as with
146 Unlock the revision with number
148 If a branch is given, unlock the latest revision on that branch.
151 is omitted, remove the latest lock held by the caller.
152 Normally, only the locker of a revision can unlock it.
153 Somebody else unlocking a revision breaks the lock.
154 This causes a mail message to be sent to the original locker.
155 The message contains a commentary solicited from the breaker.
156 The commentary is terminated by end-of-file or by a line containing
163 Strict locking means that the owner
164 of an \*r file is not exempt from locking for checkin.
165 This option should be used for files that are shared.
168 Set locking to non-strict. Non-strict locking means that the owner of
169 a file need not lock a revision for checkin.
172 be used for files that are shared.
173 Whether default locking is strict is determined by your system administrator,
174 but it is normally strict.
176 \f3\-m\fP\f2rev\fP\f3:\fP\f2msg\fP
183 Do not send mail when breaking somebody else's lock.
184 This option is not meant for casual use;
185 it is meant for programs that warn users by other means, and invoke
187 only as a low-level lock-breaking operation.
189 \f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
190 Associate the symbolic name
195 Delete the symbolic name if both
199 are omitted; otherwise, print an error message if
201 is already associated with
205 is symbolic, it is expanded before association.
208 consisting of a branch number followed by a
210 stands for the current latest revision in the branch.
215 stands for the current latest revision on the default branch,
218 .BI "rcs\ \-n" name ":\ RCS/*"
221 with the current latest revision of all the named \*r files;
223 .BI "rcs\ \-n" name ":$\ RCS/*"
226 with the revision numbers extracted from keyword strings
227 in the corresponding working files.
229 \f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
232 except override any previous assignment of
236 deletes (\*(lqoutdates\*(rq) the revisions given by
238 A range consisting of a single revision number means that revision.
239 A range consisting of a branch number means the latest revision on that
250 means from the beginning of the branch containing
259 to the end of the branch containing
261 None of the outdated revisions can have branches or locks.
264 Run quietly; do not print diagnostics.
267 Run interactively, even if the standard input is not a terminal.
269 .B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP
270 Set the state attribute of the revision
276 is a branch number, assume the latest revision on that branch.
279 is omitted, assume the latest revision on the default branch.
280 Any identifier is acceptable for
282 A useful set of states
293 sets the state of a revision to
297 Write descriptive text from the contents of the named
299 into the \*r file, deleting the existing text.
302 pathname cannot begin with
306 is omitted, obtain the text from standard input,
307 terminated by end-of-file or by a line containing
310 Prompt for the text if interaction is possible; see
314 descriptive text is obtained
320 Write descriptive text from the
322 into the \*r file, deleting the existing text.
325 Preserve the modification time on the \*r file
326 unless a revision is removed.
327 This option can suppress extensive recompilation caused by a
329 dependency of some copy of the working file on the \*r file.
330 Use this option with care; it can suppress recompilation even when it is needed,
331 i.e. when a change to the \*r file
332 would mean a change to keyword strings in the working file.
335 Print \*r's version number.
347 to characterize \*r files.
355 as the default time zone.
356 This option has no effect;
357 it is present for compatibility with other \*r commands.
359 At least one explicit option must be given,
360 to ensure compatibility with future planned extensions
367 option generates an \*r file that cannot be parsed by \*r version 3 or earlier.
373 generate an \*r file that cannot be parsed by \*r version 4 or earlier.
377 to make an \*r file acceptable to \*r version
379 by discarding information that would confuse version
382 \*r version 5.5 and earlier does not support the
384 option, and requires a
386 suffix on an \*r pathname.
389 accesses files much as
392 except that it uses the effective user for all accesses,
393 it does not write the working file or its directory,
394 and it does not even read the working file unless a revision number of
400 options prepended to the argument list, separated by spaces.
405 The \*r pathname and the revisions outdated are written to
406 the diagnostic output.
407 The exit status is zero if and only if all operations were successful.
409 Author: Walter F. Tichy.
411 Manual Page Revision: \*(Rv; Release Date: \*(Dt.
413 Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
415 Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
417 rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1),
418 rcsmerge(1), rlog(1), rcsfile(5)
421 \*r\*-A System for Version Control,
422 .I "Software\*-Practice & Experience"
424 7 (July 1985), 637-654.
426 A catastrophe (e.g. a system crash) can cause \*r to leave behind
427 a semaphore file that causes later invocations of \*r to claim
428 that the \*r file is in use.
429 To fix this, remove the semaphore file.
430 A semaphore file's name typically begins with
435 The separator for revision ranges in the
441 but this leads to confusion when symbolic names contain
443 For backwards compatibility
445 still supports the old
447 separator, but it warns about this obsolete use.
449 Symbolic names need not refer to existing revisions or branches.
452 option does not remove symbolic names for the outdated revisions; you must use