home *** CD-ROM | disk | FTP | other *** search
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- NNNAAAMMMEEE
- co - check out RCS revisions
-
- SSSYYYNNNOOOPPPSSSIIISSS
- cccooo [_o_p_t_i_o_n_s] _f_i_l_e ...
-
- DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN
- cccooo retrieves a revision from each RCS file and stores it into the
- corresponding working file. Each file name ending in ,,,vvv is taken to be
- an RCS file; all other files are assumed to be working files. If only a
- working file is given, cccooo tries to find the corresponding RCS file in the
- directory ...///RRRCCCSSS and then in the current directory. For more details, see
- FILE NAMING below.
-
- Revisions of an RCS file may 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 may be broken with rrrcccsss(1).)\
- 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, cccooo retrieves the latest revision that satisfies all of them.
- If none of the selection options is specified, cccooo retrieves the latest
- revision on the default branch (normally the trunk, see the ---bbb option of
- rrrcccsss(1)). A revision or branch number may be attached to any of the
- options ---fff, ---III, ---lll, ---ppp, ---qqq, ---rrr, or ---uuu. The options ---ddd (date), ---sss
- (state), and ---www (author) retrieve from a single branch, the _s_e_l_e_c_t_e_d
- branch, which is either specified by one of ---fff,,, ..., ---uuu, or the default
- branch.
-
- A cccooo command applied to an RCS file with no revisions creates a zero-
- length working file. cccooo always performs keyword substitution (see
- below).
-
- OOOPPPTTTIIIOOONNNSSS
-
- ---rrr[rev]]]
- retrieves the latest revision whose number is less than or equal to
- _r_e_v. If _r_e_v indicates a branch rather than a revision, the latest
- revision on that branch is retrieved. If _r_e_v is omitted, the latest
- revision on the default branch (see the ---bbb option of rrrcccsss(1)) is
- retrieved. A revision is composed of one or more numeric or
- symbolic fields separated by periods. The numeric equivalent of a
- symbolic field is specified with the ---nnn option of the commands ccciii(1)
- and rrrcccsss(1).
-
- ---lll[rev]]]
- same as ---rrr, except that it also locks the retrieved revision for the
- caller.
-
-
-
- \*(Dt 1
-
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- ---uuu[rev]]]
- same as ---rrr, except that it unlocks the retrieved revision if it was
- locked by the caller. If _r_e_v is omitted, ---uuu retrieves the latest
- revision locked by the caller; if no such lock exists, it retrieves
- the latest revision on the default branch.
-
- ---fff[rev]]]
- forces the overwriting of the working file; useful in connection
- with ---qqq. See also FILE MODES below.
-
- ---kkkkkkvvv Generate keyword strings using the default form, e.g. $$$RRReeevvviiisssiiiooonnn::: 555...444
- $$$ for the RRReeevvviiisssiiiooonnn keyword. A locker's name is inserted in the
- value of the HHHeeeaaadddeeerrr, IIIddd, and LLLoooccckkkeeerrr keyword strings only as a file
- is being locked, i.e. by ccciii\\\ ---lll and cccooo\\\ ---lll. This is the default.
-
- ---kkkkkkvvvlll
- Like ---kkkkkkvvv, except that a locker's name is always inserted if the
- given revision is currently locked.
-
- ---kkkkkk Generate only keyword names in keyword strings; omit their values.
- See KEYWORD SUBSTITUTION below. For example, for the RRReeevvviiisssiiiooonnn
- keyword, generate the string $$$RRReeevvviiisssiiiooonnn$$$ instead of $$$RRReeevvviiisssiiiooonnn::: 555...444 $$$.
- This option is useful to ignore differences due to keyword
- substitution when comparing different revisions of a file.
-
- ---kkkooo Generate the old keyword string, present in the working file just
- before it was checked in. For example, for the RRReeevvviiisssiiiooonnn keyword,
- generate the string $$$RRReeevvviiisssiiiooonnn::: 111...111 $$$ instead of $$$RRReeevvviiisssiiiooonnn::: 555...444 $$$ if
- that is how the string appeared when the file was checked in. This
- can be useful for binary file formats that cannot tolerate any
- changes to substrings that happen to take the form of keyword
- strings.
-
- ---kkkvvv Generate only keyword values for keyword strings. For example, for
- the RRReeevvviiisssiiiooonnn keyword, generate the string 555...444 instead of $$$RRReeevvviiisssiiiooonnn:::
- 555...444 $$$. This can help generate files in programming languages where
- it is hard to strip keyword delimiters like $$$RRReeevvviiisssiiiooonnn:::\\\ $$$ 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 ---lll, and the owner write permission of the
- working file is turned off; to edit the file later, check it out
- again without ---kkkvvv.
-
- ---ppp[rev]]]
- prints the retrieved revision on the standard output rather than
- storing it in the working file. This option is useful when cccooo is
- part of a pipe.
-
- ---qqq[rev]]]
- quiet mode; diagnostics are not printed.
-
- ---III[rev]]]
- interactive mode; the user is prompted and questioned even if the
- standard input is not a terminal.
-
-
-
- \*(Dt 2
-
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- ---ddd_d_a_t_e
- retrieves the latest revision on the selected branch whose checkin
- date/time is less than or equal to _d_a_t_e. The date and time may be
- given in free format. The time zone LLLTTT stands for local time; other
- common time zone names are understood. For example, the following
- _d_a_t_es are equivalent if local time is January 11, 1990, 8pm Pacific
- Standard Time (eight hours west of GMT):
-
- 8:00 pm lt
- 4:00 AM, Jan. 12, 1990 note: default is GMT
- 1990/01/12 04:00:00 RCS date 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
- Fri-JST, 1990, 1pm Jan 12
- 12-January-1990, 04:00-WET
-
- Most fields in the date and time may be defaulted. The default time zone
- is GMT. 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, the date 222000,,, 111000:::333000 defaults to 10:30:00
- GMT of the 20th of the GMT time zone's current month and year. The
- date/time must be quoted if it contains spaces.
-
- ---sss_s_t_a_t_e
- retrieves the latest revision on the selected branch whose state is
- set to _s_t_a_t_e.
-
- ---www[login]]]
- retrieves the latest revision on the selected branch which was
- checked in by the user with login name _l_o_g_i_n. If the argument _l_o_g_i_n
- is omitted, the caller's login is assumed.
-
- ---jjj_j_o_i_n_l_i_s_t
- generates a new revision which is the join of the revisions on
- _j_o_i_n_l_i_s_t. This option is largely obsoleted by rrrcccsssmmmeeerrrgggeee(1) but is
- retained for backwards compatibility.
-
- The _j_o_i_n_l_i_s_t is a comma-separated list of pairs of the form _r_e_v_2:::_r_e_v_3,
- where _r_e_v_2 and _r_e_v_3 are (symbolic or numeric) revision numbers. For the
- initial such pair, _r_e_v_1 denotes the revision selected by the above
- options ---fff,,, ..., ---www. For all other pairs, _r_e_v_1 denotes the revision
- generated by the previous pair. (Thus, the output of one join becomes
- the input to the next.)
-
- For each pair, cccooo joins revisions _r_e_v_1 and _r_e_v_3 with respect to _r_e_v_2.
- This means that all changes that transform _r_e_v_2 into _r_e_v_1 are applied to
- a copy of _r_e_v_3. This is particularly useful if _r_e_v_1 and _r_e_v_3 are the ends
- of two branches that have _r_e_v_2 as a common ancestor. If _r_e_v_1<_r_e_v_2<_r_e_v_3
- on the same branch, joining generates a new revision which is like _r_e_v_3,
- but with all changes that lead from _r_e_v_1 to _r_e_v_2 undone. If changes from
- _r_e_v_2 to _r_e_v_1 overlap with changes from _r_e_v_2 to _r_e_v_3, cccooo prints a warning
-
-
- \*(Dt 3
-
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- and includes the overlapping sections, delimited by the lines <<<<<<<<<<<<<<<<<<<<<\
- _r_e_v_1, =====================, and >>>>>>>>>>>>>>>>>>>>>\ _r_e_v_3.
-
- For the initial pair, _r_e_v_2 may 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 ---lll and ---uuu lock or
- unlock _r_e_v_1.
-
- ---VVV_n Emulate RCS version _n, where _n may be 333, 444, or 555. This may 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 rrrllloooggg on an RCS file; if
- none of the first few lines of output contain the string bbbrrraaannnccchhh::: 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 will lose its default branch. An RCS revision
- generated while emulating version 4 or earlier will have a timestamp
- that is off by up to 13 hours. A revision extracted while emulating
- version 4 or earlier will contain dates of the form _y_y///_m_m///_d_d instead
- of _y_y_y_y///_m_m///_d_d and may also contain different white space in the
- substitution for $$$LLLoooggg$$$.
-
- KKKEEEYYYWWWOOORRRDDD SSSUUUBBBSSSTTTIIITTTUUUTTTIIIOOONNN
- Strings of the form $$$_k_e_y_w_o_r_d$$$ and $$$_k_e_y_w_o_r_d:::...$$$ embedded in the text are
- replaced with strings of the form $$$_k_e_y_w_o_r_d:::_v_a_l_u_e$$$ where _k_e_y_w_o_r_d and _v_a_l_u_e
- are pairs listed below. Keywords may be embedded in literal strings or
- comments to identify a revision.
-
- Initially, the user enters strings of the form $$$_k_e_y_w_o_r_d$$$. On checkout,
- cccooo replaces these strings with strings of the form $$$_k_e_y_w_o_r_d:::_v_a_l_u_e$$$. 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 ---kkk options.
-
- Keywords and their corresponding values:
-
- $$$AAAuuuttthhhooorrr$$$
- The login name of the user who checked in the revision.
-
- $$$DDDaaattteee$$$
- The date and time (GMT) the revision was checked in.
-
- $$$HHHeeeaaadddeeerrr$$$
- A standard header containing the full pathname of the RCS file, the
- revision number, the date (GMT), the author, the state, and the
- locker (if locked).
-
- $$$IIIddd$$$ Same as $$$HHHeeeaaadddeeerrr$$$, except that the RCS file name is without a path.
-
- $$$LLLoooccckkkeeerrr$$$
- The login name of the user who locked the revision (empty if not
- locked).
-
-
-
-
-
- \*(Dt 4
-
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- $$$LLLoooggg$$$
- The log message supplied during checkin, preceded by a header
- containing the RCS file name, the revision number, the author, and
- the date (GMT). Existing log messages are _n_o_t replaced. Instead,
- the new log message is inserted after $$$LLLoooggg:::...$$$. This is useful for
- accumulating a complete change log in a source file.
-
- $$$RRRCCCSSSfffiiillleee$$$
- The name of the RCS file without a path.
-
- $$$RRReeevvviiisssiiiooonnn$$$
- The revision number assigned to the revision.
-
- $$$SSSooouuurrrccceee$$$
- The full pathname of the RCS file.
-
- $$$SSStttaaattteee$$$
- The state assigned to the revision with the ---sss option of rrrcccsss(1) or
- ccciii(1).
-
- FFFIIILLLEEE NNNAAAMMMIIINNNGGG
- Pairs of RCS files and working files may be specified in three ways (see
- also the example section).
-
- 1) Both the RCS file and the working file are given. The RCS file name
- is of the form _p_a_t_h_1///_w_o_r_k_f_i_l_e,,,vvv and the working file name is of the form
- _p_a_t_h_2///_w_o_r_k_f_i_l_e where _p_a_t_h_1/// and _p_a_t_h_2/// are (possibly different or empty)
- paths and _w_o_r_k_f_i_l_e is a file name.
-
- 2) Only the RCS file is given. Then the working file is created in the
- current directory and its name is derived from the name of the RCS file
- by removing _p_a_t_h_1/// and the suffix ,,,vvv.
-
- 3) Only the working file is given. Then cccooo looks for an RCS file of the
- form _p_a_t_h_2///RRRCCCSSS///_w_o_r_k_f_i_l_e,,,vvv or _p_a_t_h_2///_w_o_r_k_f_i_l_e,,,vvv (in this order).
-
- If the RCS file is specified without a path in 1) and 2), then cccooo looks
- for the RCS file first in the directory ...///RRRCCCSSS and then in the current
- directory.
-
- EEEXXXAAAMMMPPPLLLEEESSS
- Suppose the current directory contains a subdirectory RRRCCCSSS with an RCS
- file iiiooo...ccc,,,vvv. Then all of the following commands retrieve the latest
- revision from RRRCCCSSS///iiiooo...ccc,,,vvv and store it into iiiooo...ccc.
-
- co io.c; co RCS/io.c,v; co io.c,v;
- co io.c RCS/io.c,v; co io.c io.c,v;
- co RCS/io.c,v io.c; co io.c,v io.c;
-
- FFFIIILLLEEE MMMOOODDDEEESSS
- The working file inherits the read and execute permissions from the RCS
- file. In addition, the owner write permission is turned on, unless ---kkkvvv
- is set or the file is checked out unlocked and locking is set to strict
- (see rrrcccsss(1)).
-
-
-
-
- \*(Dt 5
-
-
-
- CO(1) Unix Programmer's Manual CO(1)
-
-
- If a file with the name of the working file exists already and has write
- permission, cccooo aborts the checkout, asking beforehand if possible. If
- the existing working file is not writable or ---fff is given, the working
- file is deleted without asking.
-
- FFFIIILLLEEESSS
- cccooo accesses files much as ccciii(1) does, except that it does not need to
- read the working file.
-
- DDDIIIAAAGGGNNNOOOSSSTTTIIICCCSSS
- The RCS file name, the working file name, and the revision number
- retrieved are written to the diagnostic output. The exit status is zero
- if and only if all operations were successful.
-
- IIIDDDEEENNNTTTIIIFFFIIICCCAAATTTIIIOOONNN
- Author: Walter F. Tichy.
- Revision Number: 5.4; Release Date: 1990/12/04.
- Copyright (c) 1982, 1988, 1989 by Walter F. Tichy.
- Copyright (c) 1990 by Paul Eggert.
-
- SSSEEEEEE AAALLLSSSOOO
- ci(1), ctime(3), date(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1),
- rcsmerge(1), rlog(1), rcsfile(5)
- Walter F. Tichy, RCS--A System for Version Control, _S_o_f_t_w_a_r_e--_P_r_a_c_t_i_c_e &
- _E_x_p_e_r_i_e_n_c_e 111555, 7 (July 1985), 637-654.
-
- LLLIIIMMMIIITTTSSS
- Links to the RCS and working files are not preserved.
-
- There is no way to selectively suppress the expansion of keywords, except
- by writing them differently. In nroff and troff, this is done by
- embedding the null-character \\\&&& into the keyword.
-
- BBBUUUGGGSSS
- The ---ddd option sometimes gets confused, and accepts no date before 1970.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- \*(Dt 6
-
-