home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
rcstxi11.zip
/
rcstexi.110
/
co.tex
< prev
next >
Wrap
Text File
|
1997-03-30
|
30KB
|
824 lines
@c
@c ================================================================================
@c Edition 1.1
@c of the Texinfo-manuals for the
@c (R)evision (C)ontrol (S)ystem
@c Version 5.7
@c
@c (c) 1982, 1988, 1989 Walter F. Tichy.
@c (c) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
@c (c) 1996, 1997 Karl Heinz Marbaise (doing converting job)
@c ================================================================================
@c
@c Discription:
@c Discription about check out command.
@c
@c Authors:
@c Walter Tichy,
@c Paul Eggert,
@c Karl Heinz Marbaise (doing converting job)
@c
@c e-mail:
@c Internet: KHMarbaise@p69.ks.fido.de
@c Fido-net: 2:2452/117.69
@c
@c Bugs, question:
@c to above e-mail adress.
@c
@c License:
@c The "Texinfo Edition of the RCS V5.7 manuals" are free
@c software; you can redistribute it and/or modify it under
@c the terms of the GNU General Public License as published
@c by the Free Software Foundation; either version 2, or (at
@c your option) any later version.
@c
@c The "Texinfo Edition of the RCS V5.7 manuals" are distributed
@c in the hope that they will be useful, but WITHOUT ANY WARRANTY;
@c without even the implied warranty of MERCHANTABILITY or
@c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
@c License for more details.
@c
@c You should have received a copy of the GNU General Public License
@c along with the "Texinfo Edition of the RCS V5.7 manuals"; see the
@c file COPYING. If not, write to the:
@c Free Software Foundation,
@c 59 Temple Place - Suite 330,
@c Boston, MA 02111-1307, USA.
@c
@c See \rcstxi.110\COPYING for details.
@c
@c ================================================================================
@c
@c
@c $Id: CO.TEX 1.2 1997/03/30 22:53:10 KHM Exp $
@c
@c =============================================================================
@c co -- check out RCS revsisions
@c -----------------------------------------------------------------------------
@node CheckOut,rcs,CheckIn,Top
@chapter co -- check out RCS revisions
@cindex co
@cindex check out
@menu
* coIntro:: Introduction to @code{co}.
* coOptions:: command line options of @code{co}.
* coKeyword:: Keyword expansion and valid keywords.
* coFileModes:: File modes.
* coFiles:: Files.
* coEnv:: Environment which can change
the behaviour of @code{co} and
other RCS commands.
* coDiag:: Diagnostic output of @code{co}.
* coLimits:: Limits.
@end menu
@c =============================================================================
@c co -- check out RCS revsisions
@c Description
@c -----------------------------------------------------------------------------
@node coIntro,coOptions,,CheckOut
@section co description
@code{co} retrieves a revision from each RCS file and stores it
into the corresponding working file.
Pathnames matching an RCS suffix denote RCS files; all others
denote working files. Names are paired as explained in
@ref{ciIntro}.
Revisions of an RCS file can be checked out locked or unlocked.
Locking a revision prevents overlapping updates. A revision
checked out for reading or processing (e.g., compiling) need not
be locked. A revision checked out for editing and later checkin
must normally be locked. Checkout with locking fails if the
revision to be checked out is currently locked by another user.
(A lock can be broken with @code{rcs} @ref{rcs}). Checkout with
locking also requires the caller to be on the access list of the
RCS file, unless he is the owner of the file or the superuser,
or the access list is empty. Checkout without locking is not
subject to accesslist restrictions, and is not affected by the
presence of locks.
A revision is selected by options for revision or branch number,
checkin date/time, author, or state. When the selection options
are applied in combination, @code{co} retrieves the latest
revision that satisfies all of them. If none of the selection
options is specified, @code{co} retrieves the latest revision on
the default branch (normally the trunk, see the @code{-b} option
of @ref{rcs}). A revision or branch number can be attached to any
of the options @code{-f}, @code{-I}, @code{-l}, @code{-M},
@code{-p}, @code{-q}, @code{-r} or @code{-u}. The options
@code{-d} (date), @code{-s}(state), and @code{-w} (author)
retrieve from a single branch, the @code{selected} branch, which
is either specified by one of @code{-f}, @dots{}, @code{-u}, or
the default branch.
A @code{co} command applied to an RCS file with no revisions
creates a zero-length working file. @code{co} always performs
keyword substitution (see below).
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c -----------------------------------------------------------------------------
@node coOptions,coKeyword,coIntro,CheckOut
@section Command line options of co
@ifinfo
Overview off all options which can be given to @code{co}
@code{Synopsis}: co [options] file @dots{}
@end ifinfo
@menu
* coOptr:: -r Revision
* coOptl:: -l lock a revision.
* coOptu:: -u unlock a revision.
* coOptf:: -f Force overwriting working file
* coOptk:: -k Keyword strings; Substitution and so on.
* coOptp:: -p Output to standard out.
* coOptq:: -q Quiet mode.
* coOptI:: -I Interactive mode.
* coOptd:: -d Check out by date/time.
* coOptM:: -M Modification time.
* coOpts:: -s set state.
* coOptT:: -T preserve Modification time.
* coOptw:: -w check out by user.
* coOptj:: -j Joining revisions.
* coOptV:: -V Version; Emulation of RCS Version.
* coOptx:: -x Suffixes.
* coOptz:: -z Time zone.
@end menu
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -r
@c -----------------------------------------------------------------------------
@node coOptr,coOptl,,coOptions
@subsection Check out revision
@cindex -r
@cindex revision
@table @code
@item -r@file{rev}
retrieves the latest revision whose number is less than or equal
to @file{rev}. If @file{rev} indicates a branch rather than a
revision, the latest revision on that branch is retrieved. If
@file{rev} is omitted, the latest revision on the default branch
(see the @code{-b} option of @ref{rcs}) is retrieved. If
@file{rev} is @code{$}, @code{co} determines the revision number
from keyword values in the working file. Otherwise, a revision is
composed of one or more numeric or symbolic fields separated by
periods. If @file{rev} begins with a period, then the default
branch (normally the trunk) is prepended to it. If @file{rev} is
a branch number followed by a period, then the latest revision on
that branch is used. The numeric equivalent of a symbolic field
is specified with the @code{-n} option of the commands
@xref{ciOptn} and @xref{rcsOptn}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -l
@c -----------------------------------------------------------------------------
@node coOptl,coOptu,coOptr,coOptions
@subsection Lock revision
@cindex -l
@cindex lock
@table @code
@item -l@file{rev}
same as @code{-r}, except that it also locks the retrieved
revision for the caller.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -u
@c -----------------------------------------------------------------------------
@node coOptu,coOptf,coOptl,coOptions
@subsection Unlock revision
@cindex -u
@cindex lock
@table @code
@item -l@file{rev}
same as @code{-r}, except that it unlocks the retrieved revision
if it was locked by the caller. If @file{rev} is omitted,
@code{-u} retrieves the revision locked by the caller, if there
is one; otherwise, it retrieves the latest revision on the
default branch.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -f
@c -----------------------------------------------------------------------------
@node coOptf,coOptk,coOptu,coOptions
@subsection Force overwriting working file
@cindex -f
@cindex overwriting
@cindex working
@table @code
@item -f@file{rev}
forces the overwriting of the working file;
useful in connection with @code{-q}.
@xref{coFileModes}
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -kkv
@c option -kkvl
@c option -kk
@c option -ko
@c option -kb
@c option -kv
@c -----------------------------------------------------------------------------
@node coOptk,coOptp,coOptf,coOptions
@subsection Keyword strings
@cindex -kkv
@cindex -kkvl
@cindex -kk
@cindex -ko
@cindex -kb
@cindex -kv
@cindex default form
@table @code
@item -kkv
Generate keyword strings using the default form, e.g.
@code{@value{RCSD}Revision : 5.12 @value{RCSD}} for the
@code{Revision} keyword. A locker's name is inserted in the value
of the @code{Header}, @code{Id}, and @code{Locker} keyword
strings only as a file is being locked, i.e. by @code{ci -l} and
@code{co -l}. This is the default.
@item -kkvl
Like @code{-kkv}, except that a locker's name is always inserted
if the given revision is currently locked.
@item -kk
Generate only keyword names in keyword strings; omit their
values. See @ref{coKeyword} below. For example, for
the @code{Revision} keyword, generate the string
@code{@value{RCSREVISION}} instead of @code{@value{RCSD}Revision: 5.12
@value{RCSD}}. This option is useful to ignore differences due to
keyword substitution when comparing different revisions of a
file. Log messages are inserted after @code{@value{RCSLOG}} keywords
even if @code{-kk} is specified, since this tends to be more
useful when merging changes.
@item -ko
Generate the old keyword string,
present in the working file just before it was checked in.
For example, for the @code{Revision}
keyword, generate the string
@code{@value{RCSD}Revision: 1.1 @value{RCSD}}
instead of @code{@value{RCSD}Revision: 5.12 @value{RCSD}}
if that is how the string appeared when the file was checked in.
This can be useful for file formats
that cannot tolerate any changes to substrings
that happen to take the form of keyword strings.
@item -kb
Generate a binary image of the old keyword string. This acts like
@code{-ko}, except it performs all working file input and output
in binary mode. This makes little difference on Posix and Unix
hosts, but on DOS-like hosts one should use @code{rcs -i -kb} to
initialize an RCS file intended to be used for binary files.
Also, on all hosts, @ref{rcsmerge} normally refuses to merge
files when @code{-kb} is in effect.
@item -kv
Generate only keyword values for keyword strings. For example,
for the @code{Revision} keyword, generate the string @code{5.12}
instead of @code{@value{RCSD}Revision: 5.12 @value{RCSD}}
This can help generate files in programming languages where it
is hard to strip keyword delimiters like
@code{@value{RCSD}Revision: @value{RCSD}} from a string.
However, further keyword substitution cannot be performed once
the keyword names are removed, so this option should be used
with care. Because of this danger of losing keywords, this
option cannot be combined with @code{-l}, and the owner write
permission of the working file is turned off; to edit
the file later, check it out again without @code{-kv}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -p
@c -----------------------------------------------------------------------------
@node coOptp,coOptq,coOptk,coOptions
@subsection Print on standard output
@cindex -p
@cindex output
@cindex print
@table @code
@item -p@file{rev}
prints the retrieved revision on the standard output rather than
storing it in the working file. This option is useful when
@code{co} is part of a pipe.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -q
@c -----------------------------------------------------------------------------
@node coOptq,coOptI,coOptp,coOptions
@subsection Quiet mode
@cindex -q
@cindex quiet
@table @code
@item -q@file{rev}
quiet mode; diagnostics are not printed.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -I
@c -----------------------------------------------------------------------------
@node coOptI,coOptd,coOptq,coOptions
@subsection Interactive Mode
@cindex -I
@cindex Interactive
@table @code
@item -I@file{rev}
interactive mode; the user is prompted and questioned even if the
standard input is not a terminal.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -d
@c -----------------------------------------------------------------------------
@node coOptd,coOptM,coOptI,coOptions
@subsection Checkout by date/time
@cindex -d
@cindex date
@cindex time
@cindex Check out
@table @code
@item -d@file{date}
retrieves the latest revision on the selected branch whose checkin date/time is
less than or equal to @file{date}.
The date and time can be given in free format.
The time zone @code{LT} stands for local time;
other common time zone names are understood.
For example, the following
@file{date}s are equivalent
if local time is January 11, 1990, 8pm Pacific Standard Time,
eight hours west of Coordinated Universal Time (UTC):
@example
@group
8:00 pm lt
4:00 AM, Jan. 12, 1990 default is UTC
1990-01-12 04:00:00+00 ISO 8601 (UTC)
1990-01-11 20:00:00-08 ISO 8601 (local time)
1990/01/12 04:00:00 traditional RCS format
Thu Jan 11 20:00:00 1990 LT output of ctime(3) + LT
Thu Jan 11 20:00:00 PST 1990 output of date(1)
Fri Jan 12 04:00:00 GMT 1990
Thu, 11 Jan 1990 20:00:00 -0800 Internet RFC 822
12-January-1990, 04:00 WET
@w{ }
@w{ }
@end group
@end example
Most fields in the date and time can be defaulted. The default
time zone is normally UTC, but this can be overridden by the
@code{-z} option. The other defaults are determined in the order
year, month, day, hour, minute, and second (most to least
significant). At least one of these fields must be provided.
For omitted fields that are of higher significance than the
highest provided field, the time zone's current values are
assumed. For all other omitted fields, the lowest possible values
are assumed. For example, without @code{-z}, the date @code{20},
@code{10:30} defaults to 10:30:00 UTC of the 20th of the UTC time
zone's current month and year. The date/time must be quoted if it
contains spaces.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -M
@c -----------------------------------------------------------------------------
@node coOptM,coOpts,coOptd,coOptions
@subsection Modification time
@cindex -M
@cindex Modification
@table @code
@item -M@file{rev}
Set the modification time on the new working file
to be the date of the retrieved revision.
Use this option with care; it can confuse
@code{make}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -s
@c -----------------------------------------------------------------------------
@node coOpts,coOptT,coOptM,coOptions
@subsection State
@cindex -s
@cindex State
@table @code
@item -s@file{state}
retrieves the latest revision on the selected branch whose state
is set to @file{state}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -T
@c -----------------------------------------------------------------------------
@node coOptT,coOptw,coOpts,coOptions
@subsection Preserve Modification time
@cindex -T
@cindex Modification
@cindex preserve
@table @code
@item -T
Preserve the modification time on the RCS file even if the RCS
file changes because a lock is added or removed. This option can
suppress extensive recompilation caused by a @code{make}
dependency of some other copy of the working file on the RCS
file. Use this option with care; it can suppress recompilation
even when it is needed, i.e. when the change of lock would mean a
change to keyword strings in the other working file.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -w
@c -----------------------------------------------------------------------------
@node coOptw,coOptj,coOptT,coOptions
@subsection Checked in by user
@cindex -w
@cindex login
@table @code
@item -w@file{login}
retrieves the latest revision on the selected branch which was
checked in by the user with login name @file{login}. If the
argument @file{login} is omitted, the caller's login is assumed.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -j
@c -----------------------------------------------------------------------------
@node coOptj,coOptV,coOptw,coOptions
@subsection Joining revisions
@cindex -j
@cindex join
@table @code
@item -j@file{joinlist}
generates a new revision which is the join of the revisions on
@file{joinlist}. This option is largely obsoleted by @code{rcsmerge}
(@ref{rcsmerge}) but is retained for backwards compatibility.
The @file{joinlist} is a comma-separated list of pairs of the
form @code{rev2 : rev3}, where @code{rev2} and @code{rev3} are
(symbolic or numeric) revision numbers. For the initial such
pair, @code{rev1} denotes the revision selected by the above
options @code{-f}, @dots{}, @code{-w}. For all other pairs,
@code{rev1} denotes the revision generated by the previous pair.
(Thus, the output of one join becomes the input to the next.)
For each pair, @code{co} joins revisions @code{rev1} and
@code{rev3} with respect to @code{rev2}. This means that all
changes that transform @code{rev2} into @code{rev1} are applied
to a copy of @code{rev3}. This is particularly useful if
@code{rev1} and @code{rev3} are the ends of two branches that
have @code{rev2} as a common ancestor. If
@code{rev1 < rev2 < rev3} on the same branch,
joining generates a new revision which is like @code{rev3},
but with all changes that lead from @code{rev1} to @code{rev2}
undone. If changes from @code{rev2} to @code{rev1} overlap
with changes from @code{rev2} to @code{rev3}, @code{co} reports
overlaps as described in @code{merge}.
For the initial pair, @code{rev2} can be omitted. The default is
the common ancestor. If any of the arguments indicate branches,
the latest revisions on those branches are assumed. The options
@code{-l} and @code{-u} lock or unlock @code{rev1}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -V
@c -----------------------------------------------------------------------------
@node coOptV,coOptx,coOptj,coOptions
@subsection Version, Emulate RCS Version
@cindex -V
@cindex Version
@cindex Emulate
@table @code
@item -V
Print RCS's version number.
@item -V@file{n}
Emulate RCS version @file{n}, where @file{n} can be @code{3},
@code{4}, or @code{5}. This can be useful when interchanging RCS
files with others who are running older versions of RCS. To see
which version of RCS your correspondents are running, have them
invoke @code{rcs -V}; this works with newer versions of RCS. If
it doesn't work, have them invoke @code{rlog} (@ref{rlog}) on an
RCS file; if none of the first few lines of output contain the
string @code{branch:} it is version 3; if the dates' years have
just two digits, it is version 4; otherwise, it is version 5. An
RCS file generated while emulating version 3 loses its default
branch. An RCS revision generated while emulating version 4 or
earlier has a time stamp that is off by up to 13 hours. A
revision extracted while emulating version 4 or earlier contains
abbreviated dates of the form @code{yy/mm/dd} and can also
contain different white space and line prefixes in the
substitution for @value{RCSLOG}.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -x
@c -----------------------------------------------------------------------------
@node coOptx,coOptz,coOptV,coOptions
@subsection Suffixes
@cindex -x
@cindex Suffixes
@table @code
@item -x@file{suffixes}
Use @file{suffixes} to characterize RCS files.
@xref{ciOptx} for details.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Options
@c option -z
@c -----------------------------------------------------------------------------
@node coOptz,,coOptx,coOptions
@subsection Time Zoone
@cindex -z
@cindex Zoone
@table @code
@item -z@file{zoone}
@xref{ciOptz} for details.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Keyword Substitution
@c -----------------------------------------------------------------------------
@node coKeyword,coFileModes,coOptions,CheckOut
@section Keyword Substitution
@cindex Keyword
@cindex Substitution
Strings of the form @code{@value{RCSD}keyword@value{RCSD}} and
@code{@value{RCSD}keyword : @dots{}@value{RCSD}} embedded in
the text are replaced with strings of the form
@code{@value{RCSD}keyword:value@value{RCSD}} where
@code{keyword} and @code{value} are pairs listed below.
Keywords can be embedded in literal strings or comments to
identify a revision.
Initially, the user enters strings of the form
@code{@value{RCSD}keyword@value{RCSD}}.
On checkout, @code{co} replaces these strings with strings
of the form @code{@value{RCSD}keyword:value@value{RCSD}}.
If a revision containing strings of the latter form is checked
back in, the value fields will be replaced during the next
checkout. Thus, the keyword values are automatically updated on
checkout. This automatic substitution can be modified by the
@code{-k} options.
Keywords and their corresponding values:
@table @code
@item @value{RCSAUTHOR}
@cindex Keyword Author
The login name of the user who checked in the revision.
@item @value{RCSDATE}
@cindex Keyword Date
The date and time the revision was checked in.
With @code{-z@file{zone}} a numeric time zone offset is appended;
otherwise, the date is UTC.
@item @value{RCSHEADER}
@cindex Keyword Header
A standard header containing the full pathname of the RCS file, the
revision number, the date and time, the author, the state,
and the locker (if locked). With @code{-z@file{zone}}
a numeric time zone offset is appended to the date;
otherwise, the date is RCS.
@item @value{RCSID}
@cindex Keyword Id
Same as @code{@value{RCSHEADER}},
except that the RCS filename is without a path.
@item @value{RCSLOCKER}
@cindex Keyword Locker
The login name of the user who locked the revision
(empty if not locked).
@item @value{RCSLOG}
@cindex Keyword Log
The log message supplied during checkin, preceded by a header
containing the RCS filename, the revision number, the author, and
the date and time. With @code{-z@file{zone}} a numeric time zone
offset is appended; otherwise, the date is UTC. Existing log
messages are @code{not} replaced. Instead, the new log message is
inserted after @code{@value{RCSD}Log: @dots{} @value{RCSD}}. This
is useful for accumulating a complete change log in a source
file.
Each inserted line is prefixed by the string that prefixes the
@code{@value{RCSLOG}} line. For example, if the
@code{@value{RCSLOG}} line is
@code{"// @value{RCSD}Log: tan.cc @value{RCSD}"},
RCS prefixes each line of the log with "// ".
This is useful for languages with comments that go to the
end of the line. The convention for other languages is to use a
@code{" * "} prefix inside a multiline comment. For example,
the initial log comment of a C program conventionally is of
the following form:
@example
@group
@w{/*}
@w{ * @value{RCSLOG}}
@w{ */}
@end group
@end example
For backwards compatibility with older versions of RCS, if the
log prefix is @code{/*} or @code{(*} surrounded by optional
white space, inserted log lines contain a space instead of
@code{/} or @code{(}; however, this usage is obsolescent and
should not be relied on.
@item @value{RCSNAME}
@cindex Keyword Name
The symbolic name used to check out the revision, if any. For
example, @code{"co -rJoe"} generates
@code{"@value{RCSD}Name: Joe @value{RCSD}"}.
Plain @code{co} generates just @code{"@value{RCSD}Name: @value{RCSD}"}
@item @value{RCSRCSFILE}
@cindex Keyword RCSFile
The name of the RCS file without a path.
@item @value{RCSREVISION}
@cindex Keyword Revision
The revision number assigned to the revision.
@item @value{RCSSOURCE}
@cindex Keyword Source
The full pathname of the RCS file.
@item @value{RCSSTATE}
@cindex Keyword State
The state assigned to the revision with the
@code{-s} option of @code{rcs} or @code{ci}.
@end table
The following characters in keyword values are represented by escape sequences
to keep keyword strings well-formed.
@example
@group
@code{char} @code{escape sequence}
tab \t
newline \n
space \040
$ \044
\ \\
@end group
@end example
@c =============================================================================
@c co -- check out RCS revsisions
@c File Modes
@c -----------------------------------------------------------------------------
@node coFileModes,coFiles,coKeyword,CheckOut
@section File Modes
@cindex File Modes
The working file inherits the read and execute permissions from
the RCS file. In addition, the owner write permis- sion is
turned on, unless @code{-kv} is set or the file is checked
out unlocked and locking is set to strict (@xref{rcs}).
If a file with the name of the working file exists already and
has write permission, @code{co} aborts the checkout, asking
beforehand if possible. If the existing working file is not
writable or @code{-f} is given, the working file is deleted
without asking.
@c =============================================================================
@c co -- check out RCS revsisions
@c Files
@c -----------------------------------------------------------------------------
@node coFiles,coEnv,coFileModes,CheckOut
@section Files
@cindex Files
@code{co} accesses files much as @code{ci} does, except that it
does not need to read the working file unless a revision number
of @code{@value{RCSD}} is specified.
@c =============================================================================
@c co -- check out RCS revsisions
@c Envrionment
@c -----------------------------------------------------------------------------
@node coEnv,coDiag,coFiles,CheckOut
@section Environment
@cindex Environment
@table @code
@item RCSINIT
options prepended to the argument list, separated by spaces.
See @ref{ciEnv} for details.
@end table
@c =============================================================================
@c co -- check out RCS revsisions
@c Diagnostics
@c -----------------------------------------------------------------------------
@node coDiag,coLimits,coEnv,CheckOut
@section Diagnostics
The RCS pathname, the working pathname, and the revision
number retrieved are written to the diagnostic output.
The exit status is zero if and only if all operations were
successful.
@c =============================================================================
@c co -- check out RCS revsisions
@c Limits
@c -----------------------------------------------------------------------------
@node coLimits,,coDiag,CheckOut
@section Limits
Links to the RCS and working files are not preserved.