home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / rcs567x.zip / doc / co.man < prev    next >
Text File  |  1994-03-22  |  24KB  |  529 lines

  1.  
  2.  
  3.  
  4. CO(1)                                                       CO(1)
  5.  
  6.  
  7. NNAAMMEE
  8.        co - check out RCS revisions
  9.  
  10. SSYYNNOOPPSSIISS
  11.        ccoo [_o_p_t_i_o_n_s] _f_i_l_e ...
  12.  
  13. DDEESSCCRRIIPPTTIIOONN
  14.        ccoo  retrieves  a revision from each RCS file and stores it
  15.        into the corresponding working file.
  16.  
  17.        Pathnames matching an RCS suffix  denote  RCS  files;  all
  18.        others   denote   working  files.   Names  are  paired  as
  19.        explained in ccii(1).
  20.  
  21.        Revisions of an RCS file can  be  checked  out  locked  or
  22.        unlocked.    Locking   a   revision  prevents  overlapping
  23.        updates.  A revision checked out for reading or processing
  24.        (e.g.,  compiling) need not be locked.  A revision checked
  25.        out for editing and later checkin must normally be locked.
  26.        Checkout  with locking fails if the revision to be checked
  27.        out is currently locked by another user.  (A lock  can  be
  28.        broken  with rrccss(1).)  Checkout with locking also requires
  29.        the caller to be on the  access  list  of  the  RCS  file,
  30.        unless  he  is  the owner of the file or the superuser, or
  31.        the access list is empty.  Checkout without locking is not
  32.        subject to accesslist restrictions, and is not affected by
  33.        the presence of locks.
  34.  
  35.        A revision is selected by options for revision  or  branch
  36.        number,  checkin  date/time,  author,  or state.  When the
  37.        selection options are applied in combination, ccoo retrieves
  38.        the  latest  revision that satisfies all of them.  If none
  39.        of the selection options is specified,  ccoo  retrieves  the
  40.        latest revision on the default branch (normally the trunk,
  41.        see the --bb option of rrccss(1)).  A revision or branch number
  42.        can  be attached to any of the options --ff, --II, --ll, --MM, --pp,
  43.        --qq, --rr, or --uu.  The options --dd (date), --ss (state), and  --ww
  44.        (author)  retrieve  from  a  single  branch,  the _s_e_l_e_c_t_e_d
  45.        branch, which is either specified by one of --ff,,  ...,  --uu,
  46.        or the default branch.
  47.  
  48.        A ccoo command applied to an RCS file with no revisions cre-
  49.        ates a zero-length working file.  ccoo always performs  key-
  50.        word substitution (see below).
  51.  
  52. OOPPTTIIOONNSS
  53.        --rr[_r_e_v]
  54.               retrieves  the latest revision whose number is less
  55.               than or equal to _r_e_v.  If _r_e_v  indicates  a  branch
  56.               rather than a revision, the latest revision on that
  57.               branch is retrieved.  If _r_e_v is omitted, the latest
  58.               revision  on  the default branch (see the --bb option
  59.               of rrccss(1)) is retrieved.  If _r_e_v is  $$,  ccoo  deter-
  60.               mines  the  revision  number from keyword values in
  61.  
  62.  
  63.  
  64. GNU                         1994/03/17                          1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CO(1)                                                       CO(1)
  71.  
  72.  
  73.               the working file.  Otherwise, a  revision  is  com-
  74.               posed  of  one  or  more numeric or symbolic fields
  75.               separated by periods.  If _r_e_v begins with a period,
  76.               then  the  default  branch  (normally the trunk) is
  77.               prepended to it.  If _r_e_v is a  branch  number  fol-
  78.               lowed by a period, then the latest revision on that
  79.               branch is used.  The numeric equivalent of  a  sym-
  80.               bolic  field is specified with the --nn option of the
  81.               commands ccii(1) and rrccss(1).
  82.  
  83.        --ll[_r_e_v]
  84.               same as --rr, except that it also locks the retrieved
  85.               revision for the caller.
  86.  
  87.        --uu[_r_e_v]
  88.               same  as  --rr,  except that it unlocks the retrieved
  89.               revision if it was locked by the caller.  If _r_e_v is
  90.               omitted,  --uu  retrieves  the revision locked by the
  91.               caller, if there is one;  otherwise,  it  retrieves
  92.               the latest revision on the default branch.
  93.  
  94.        --ff[_r_e_v]
  95.               forces  the overwriting of the working file; useful
  96.               in connection with --qq.  See also FILE MODES  below.
  97.  
  98.        --kkkkvv   Generate  keyword  strings  using the default form,
  99.               e.g. $$RReevviissiioonn:: 55..1122 $$ for the RReevviissiioonn keyword.  A
  100.               locker's  name  is  inserted  in  the  value of the
  101.               HHeeaaddeerr, IIdd, and LLoocckkeerr keyword strings  only  as  a
  102.               file  is  being  locked,  i.e.  by ccii --ll and ccoo --ll.
  103.               This is the default.
  104.  
  105.        --kkkkvvll  Like --kkkkvv, except that a locker's  name  is  always
  106.               inserted if the given revision is currently locked.
  107.  
  108.        --kkkk    Generate only keyword  names  in  keyword  strings;
  109.               omit their values.  See KEYWORD SUBSTITUTION below.
  110.               For example, for the RReevviissiioonn keyword, generate the
  111.               string  $$RReevviissiioonn$$  instead  of  $$RReevviissiioonn:: 55..1122 $$.
  112.               This option is useful to ignore differences due  to
  113.               keyword substitution when comparing different revi-
  114.               sions of a file.  Log messages are  inserted  after
  115.               $$LLoogg$$ keywords even if --kkkk is specified, since this
  116.               tends to be more useful when merging changes.
  117.  
  118.        --kkoo    Generate the old keyword  string,  present  in  the
  119.               working  file  just  before it was checked in.  For
  120.               example, for the  RReevviissiioonn  keyword,  generate  the
  121.               string  $$RReevviissiioonn:: 11..11 $$ instead of $$RReevviissiioonn:: 55..1122
  122.               $$ if that is how the string appeared when the  file
  123.               was checked in.  This can be useful for binary file
  124.               formats that cannot tolerate any  changes  to  sub-
  125.               strings  that  happen  to  take the form of keyword
  126.               strings.
  127.  
  128.  
  129.  
  130. GNU                         1994/03/17                          2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CO(1)                                                       CO(1)
  137.  
  138.  
  139.        --kkvv    Generate only keyword values for  keyword  strings.
  140.               For example, for the RReevviissiioonn keyword, generate the
  141.               string 55..1122 instead of $$RReevviissiioonn:: 55..1122 $$.  This can
  142.               help  generate files in programming languages where
  143.               it  is  hard  to  strip  keyword  delimiters   like
  144.               $$RReevviissiioonn:: $$  from a string.  However, further key-
  145.               word substitution cannot be performed once the key-
  146.               word  names  are  removed, so this option should be
  147.               used with care.  Because of this danger  of  losing
  148.               keywords,  this  option cannot be combined with --ll,
  149.               and the owner write permission of the working  file
  150.               is turned off; to edit the file later, check it out
  151.               again without --kkvv.
  152.  
  153.        --pp[_r_e_v]
  154.               prints the retrieved revision on the standard  out-
  155.               put  rather  than  storing  it in the working file.
  156.               This option is useful when ccoo is part of a pipe.
  157.  
  158.        --qq[_r_e_v]
  159.               quiet mode; diagnostics are not printed.
  160.  
  161.        --II[_r_e_v]
  162.               interactive mode; the user is  prompted  and  ques-
  163.               tioned  even  if the standard input is not a termi-
  164.               nal.
  165.  
  166.        --dd_d_a_t_e retrieves  the  latest  revision  on  the  selected
  167.               branch  whose  checkin  date/time  is  less than or
  168.               equal to _d_a_t_e.  The date and time can be  given  in
  169.               free  format.   The  time  zone LLTT stands for local
  170.               time; other common time zone names are  understood.
  171.               For  example, the following _d_a_t_es are equivalent if
  172.               local time is January 11, 1990, 8pm  Pacific  Stan-
  173.               dard  Time, eight hours west of Coordinated Univer-
  174.               sal Time (UTC):
  175.  
  176.                      88::0000 ppmm lltt
  177.                      44::0000 AAMM,, JJaann.. 1122,, 11999900           default is UTC
  178.                      11999900--0011--1122 0044::0000::0000++00000000         ISO 8601 (UTC)
  179.                      11999900--0011--1111 2200::0000::0000--00880000         ISO 8601 (local time)
  180.                      11999900//0011//1122 0044::0000::0000              traditional RCS format
  181.                      TThhuu JJaann 1111 2200::0000::0000 11999900 LLTT      output of ccttiimmee(3) + LLTT
  182.                      TThhuu JJaann 1111 2200::0000::0000 PPSSTT 11999900     output of ddaattee(1)
  183.                      FFrrii JJaann 1122 0044::0000::0000 GGMMTT 11999900
  184.                      TThhuu,, 1111 JJaann 11999900 2200::0000::0000 --00880000  Internet RFC 822
  185.                      1122--JJaannuuaarryy--11999900,, 0044::0000 WWEETT
  186.  
  187.               Most fields in the date and time can be  defaulted.
  188.               The default time zone is normally UTC, but this can
  189.               be overridden by the --zz option.  The other defaults
  190.               are determined in the order year, month, day, hour,
  191.               minute, and second (most to least significant).  At
  192.               least  one  of  these fields must be provided.  For
  193.  
  194.  
  195.  
  196. GNU                         1994/03/17                          3
  197.  
  198.  
  199.  
  200.  
  201.  
  202. CO(1)                                                       CO(1)
  203.  
  204.  
  205.               omitted fields that are of higher significance than
  206.               the highest provided field, the time zone's current
  207.               values are assumed.  For all other omitted  fields,
  208.               the  lowest possible values are assumed.  For exam-
  209.               ple, without --zz, the date  2200,,  1100::3300  defaults  to
  210.               10:30:00  UTC  of  the  20th of the UTC time zone's
  211.               current month and  year.   The  date/time  must  be
  212.               quoted if it contains spaces.
  213.  
  214.        --MM[_r_e_v]
  215.               Set  the  modification time on the new working file
  216.               to be the date of the retrieved revision.  Use this
  217.               option with care; it can confuse mmaakkee(1).
  218.  
  219.        --ss_s_t_a_t_e
  220.               retrieves  the  latest  revision  on  the  selected
  221.               branch whose state is set to _s_t_a_t_e.
  222.  
  223.        --TT     Preserve the modification time on the RCS file even
  224.               if  the RCS file changes because a lock is added or
  225.               removed.  This option can suppress extensive recom-
  226.               pilation  caused  by  a  mmaakkee(1) dependency of some
  227.               other copy of the working file  on  the  RCS  file.
  228.               Use this option with care; it can suppress recompi-
  229.               lation even when it is needed, i.e. when the change
  230.               of  lock  would mean a change to keyword strings in
  231.               the other working file.
  232.  
  233.        --ww[_l_o_g_i_n]
  234.               retrieves  the  latest  revision  on  the  selected
  235.               branch  which was checked in by the user with login
  236.               name _l_o_g_i_n.  If the argument _l_o_g_i_n is omitted,  the
  237.               caller's login is assumed.
  238.  
  239.        --jj_j_o_i_n_l_i_s_t
  240.               generates  a  new revision which is the join of the
  241.               revisions on  _j_o_i_n_l_i_s_t.   This  option  is  largely
  242.               obsoleted  by rrccssmmeerrggee(1) but is retained for back-
  243.               wards compatibility.
  244.  
  245.               The _j_o_i_n_l_i_s_t is a comma-separated list of pairs  of
  246.               the  form  _r_e_v_2::_r_e_v_3_, where _r_e_v_2 and _r_e_v_3 are (sym-
  247.               bolic or numeric) revision numbers.  For  the  ini-
  248.               tial  such pair, _r_e_v_1 denotes the revision selected
  249.               by the above options --ff,, ..., --ww.   For  all  other
  250.               pairs,  _r_e_v_1  denotes the revision generated by the
  251.               previous pair.   (Thus,  the  output  of  one  join
  252.               becomes the input to the next.)
  253.  
  254.               For  each  pair,  ccoo  joins revisions _r_e_v_1 and _r_e_v_3
  255.               with respect to _r_e_v_2.  This means that all  changes
  256.               that transform _r_e_v_2 into _r_e_v_1 are applied to a copy
  257.               of _r_e_v_3.  This is particularly useful if  _r_e_v_1  and
  258.               _r_e_v_3 are the ends of two branches that have _r_e_v_2 as
  259.  
  260.  
  261.  
  262. GNU                         1994/03/17                          4
  263.  
  264.  
  265.  
  266.  
  267.  
  268. CO(1)                                                       CO(1)
  269.  
  270.  
  271.               a common ancestor.  If _r_e_v_1<_r_e_v_2<_r_e_v_3 on  the  same
  272.               branch,  joining  generates a new revision which is
  273.               like _r_e_v_3_, but with all changes that lead from _r_e_v_1
  274.               to _r_e_v_2 undone.  If changes from _r_e_v_2 to _r_e_v_1 over-
  275.               lap with changes from  _r_e_v_2  to  _r_e_v_3_,  ccoo  reports
  276.               overlaps as described in mmeerrggee(1).
  277.  
  278.               For  the  initial  pair,  _r_e_v_2 can be omitted.  The
  279.               default is the common  ancestor.   If  any  of  the
  280.               arguments  indicate  branches, the latest revisions
  281.               on those branches are assumed.  The options --ll  and
  282.               --uu lock or unlock _r_e_v_1.
  283.  
  284.        --VV     Print RCS's version number.
  285.  
  286.        --VV_n    Emulate  RCS  version _n_, where _n can be 33, 44, or 55.
  287.               This can be useful  when  interchanging  RCS  files
  288.               with  others who are running older versions of RCS.
  289.               To see which version of RCS your correspondents are
  290.               running,  have  them invoke rrccss --VV; this works with
  291.               newer versions of RCS.  If it  doesn't  work,  have
  292.               them  invoke  rrlloogg  on  an RCS file; if none of the
  293.               first  few  lines  of  output  contain  the  string
  294.               bbrraanncchh::  it  is version 3; if the dates' years have
  295.               just two digits, it is version 4; otherwise, it  is
  296.               version  5.   An RCS file generated while emulating
  297.               version 3 loses its default branch.  An  RCS  revi-
  298.               sion generated while emulating version 4 or earlier
  299.               has a time stamp that is off by up to 13 hours.   A
  300.               revision  extracted  while  emulating  version 4 or
  301.               earlier contains  abbreviated  dates  of  the  form
  302.               _y_y//_m_m//_d_d and can also contain different white space
  303.               and line prefixes in the substitution for $$LLoogg$$.
  304.  
  305.        --xx_s_u_f_f_i_x_e_s
  306.               Use _s_u_f_f_i_x_e_s to characterize RCS files.  See  ccii(1)
  307.               for details.
  308.  
  309.        --zz_z_o_n_e specifies the date output format in keyword substi-
  310.               tution, and specifies the  default  time  zone  for
  311.               _d_a_t_e  in  the  --dd_d_a_t_e  option.   The _z_o_n_e should be
  312.               empty, a numeric UTC offset, or the special  string
  313.               LLTT  for  local time.  The default is an empty _z_o_n_e,
  314.               which uses the traditional RCS format of UTC  with-
  315.               out any time zone indication and with slashes sepa-
  316.               rating the parts of the date; otherwise, times  are
  317.               output  in  ISO  8601 format with time zone indica-
  318.               tion.  For example, if local time  is  January  11,
  319.               1990,  8pm  Pacific Standard Time, eight hours west
  320.               of UTC, then the time is output as follows:
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. GNU                         1994/03/17                          5
  329.  
  330.  
  331.  
  332.  
  333.  
  334. CO(1)                                                       CO(1)
  335.  
  336.  
  337.                      _o_p_t_i_o_n   _t_i_m_e _o_u_t_p_u_t
  338.                      --zz       11999900//0011//1111 0044::0000::0000       _(_d_e_f_a_u_l_t_)
  339.                      --zzLLTT     11999900--0011--1111 2200::0000::0000--00880000
  340.                      --zz++00553300  11999900--0011--1111 0099::3300::0000++00553300
  341.  
  342.               The --zz option does not affect dates stored  in  RCS
  343.               files, which are always UTC.
  344.  
  345. KKEEYYWWOORRDD SSUUBBSSTTIITTUUTTIIOONN
  346.        Strings  of  the form $$_k_e_y_w_o_r_d$$ and $$_k_e_y_w_o_r_d::_._._.$$ embedded
  347.        in the text are replaced with strings of  the  form  $$_k_e_y_-
  348.        _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
  349.        below.  Keywords can be embedded  in  literal  strings  or
  350.        comments to identify a revision.
  351.  
  352.        Initially,  the user enters strings of the form $$_k_e_y_w_o_r_d$$_.
  353.        On checkout, ccoo replaces these strings with strings of the
  354.        form $$_k_e_y_w_o_r_d::_v_a_l_u_e$$_.  If a revision containing strings of
  355.        the latter form is checked back in, the value fields  will
  356.        be  replaced  during the next checkout.  Thus, the keyword
  357.        values are automatically updated on checkout.  This  auto-
  358.        matic substitution can be modified by the --kk options.
  359.  
  360.        Keywords and their corresponding values:
  361.  
  362.        $$AAuutthhoorr$$
  363.               The login name of the user who checked in the revi-
  364.               sion.
  365.  
  366.        $$DDaattee$$ The date and time  the  revision  was  checked  in.
  367.               With --zz_z_o_n_e a numeric time zone offset is appended;
  368.               otherwise, the date is UTC.
  369.  
  370.        $$HHeeaaddeerr$$
  371.               A standard header containing the full  pathname  of
  372.               the  RCS  file,  the  revision number, the date and
  373.               time, the author, the state,  and  the  locker  (if
  374.               locked).  With --zz_z_o_n_e a numeric time zone offset is
  375.               appended to the date; otherwise, the date is UTC.
  376.  
  377.        $$IIdd$$   Same as $$HHeeaaddeerr$$, except that the RCS  filename  is
  378.               without a path.
  379.  
  380.        $$LLoocckkeerr$$
  381.               The  login name of the user who locked the revision
  382.               (empty if not locked).
  383.  
  384.        $$LLoogg$$  The log message supplied during  checkin,  preceded
  385.               by  a header containing the RCS filename, the revi-
  386.               sion number, the author, and  the  date  and  time.
  387.               With --zz_z_o_n_e a numeric time zone offset is appended;
  388.               otherwise, the date is UTC.  Existing log  messages
  389.               are  _n_o_t replaced.  Instead, the new log message is
  390.               inserted  after  $$LLoogg::...$$.   This  is  useful  for
  391.  
  392.  
  393.  
  394. GNU                         1994/03/17                          6
  395.  
  396.  
  397.  
  398.  
  399.  
  400. CO(1)                                                       CO(1)
  401.  
  402.  
  403.               accumulating  a  complete  change  log  in a source
  404.               file.  Each inserted line is prefixed by the string
  405.               that  prefixes the $$LLoogg$$ line.  For example, if the
  406.               $$LLoogg$$ line is  "//// $$LLoogg::  ttaann..cccc $$",  RCS  prefixes
  407.               each  line  of  the log with "//// ".  This is useful
  408.               for programming languages without  multi-line  com-
  409.               ments.
  410.  
  411.        $$NNaammee$$ The  symbolic  name used to check out the revision,
  412.               if   any.    For   example,   ccoo --rrJJooee    generates
  413.               $$NNaammee:: JJooee $$.  Plain ccoo generates just $$NNaammee::  $$.
  414.  
  415.        $$RRCCSSffiillee$$
  416.               The name of the RCS file without a path.
  417.  
  418.        $$RReevviissiioonn$$
  419.               The revision number assigned to the revision.
  420.  
  421.        $$SSoouurrccee$$
  422.               The full pathname of the RCS file.
  423.  
  424.        $$SSttaattee$$
  425.               The  state  assigned  to  the  revision with the --ss
  426.               option of rrccss(1) or ccii(1).
  427.  
  428.        The following characters in keyword values are represented
  429.        by escape sequences to keep keyword strings well-formed.
  430.  
  431.               _c_h_a_r     _e_s_c_a_p_e _s_e_q_u_e_n_c_e
  432.               tab      \\tt
  433.               newline  \\nn
  434.               space    \\004400
  435.               $$        \\004444
  436.               \\        \\\\
  437.  
  438. FFIILLEE MMOODDEESS
  439.        The working file inherits the read and execute permissions
  440.        from the RCS file.  In addition, the owner  write  permis-
  441.        sion  is  turned  on,  unless  --kkvv  is  set or the file is
  442.        checked out unlocked and locking is  set  to  strict  (see
  443.        rrccss(1)).
  444.  
  445.        If a file with the name of the working file exists already
  446.        and has write permission, ccoo aborts the  checkout,  asking
  447.        beforehand  if  possible.  If the existing working file is
  448.        not writable or --ff is given, the working file  is  deleted
  449.        without asking.
  450.  
  451. FFIILLEESS
  452.        ccoo  accesses files much as ccii(1) does, except that it does
  453.        not need to read the working file unless a revision number
  454.        of $$ is specified.
  455.  
  456.  
  457.  
  458.  
  459.  
  460. GNU                         1994/03/17                          7
  461.  
  462.  
  463.  
  464.  
  465.  
  466. CO(1)                                                       CO(1)
  467.  
  468.  
  469. EENNVVIIRROONNMMEENNTT
  470.        RRCCSSIINNIITT
  471.               options  prepended  to the argument list, separated
  472.               by spaces.  See ccii(1) for details.
  473.  
  474. DDIIAAGGNNOOSSTTIICCSS
  475.        The RCS pathname, the working pathname, and  the  revision
  476.        number  retrieved  are  written  to the diagnostic output.
  477.        The exit status is zero if and only if all operations were
  478.        successful.
  479.  
  480. IIDDEENNTTIIFFIICCAATTIIOONN
  481.        Author: Walter F. Tichy.
  482.        Manual Page Revision: 5.12; Release Date: 1994/03/17.
  483.        Copyright (C) 1982, 1988, 1989 Walter F. Tichy.
  484.        Copyright (C) 1990, 1991, 1992, 1993, 1994 Paul Eggert.
  485.  
  486. SSEEEE AALLSSOO
  487.        rcsintro(1),  ci(1), ctime(3), date(1), ident(1), make(1),
  488.        rcs(1),  rcsclean(1),  rcsdiff(1),  rcsmerge(1),  rlog(1),
  489.        rcsfile(5)
  490.        Walter  F.  Tichy,  RCS--A  System  for  Version  Control,
  491.        _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  1155,  7   (July   1985),
  492.        637-654.
  493.  
  494. LLIIMMIITTSS
  495.        Links to the RCS and working files are not preserved.
  496.  
  497.        There  is  no way to selectively suppress the expansion of
  498.        keywords, except by writing them  differently.   In  nroff
  499.        and troff, this is done by embedding the null-character \\&&
  500.        into the keyword.
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526. GNU                         1994/03/17                          8
  527.  
  528.  
  529.