


      VVVVCCCC((((1111))))                       ((((UUUUNNNNIIIIXXXX 5555....0000))))                      VVVVCCCC((((1111))))



      NNNNAAAAMMMMEEEE
           vc - version control

      SSSSYYYYNNNNTTTTAAAAXXXX
           vvvvcccc [----aaaa] [----tttt] [----ccccchar] [----ssss] [keyword=value ... keyword=value]

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           The _v_c command copies lines from the standard input to the
           standard output under control of its _a_r_g_u_m_e_n_t_s and _c_o_n_t_r_o_l
           _s_t_a_t_e_m_e_n_t_s encountered in the standard input.  In the
           process of performing the copy operation, user declared
           _k_e_y_w_o_r_d_s may be replaced by their string _v_a_l_u_e when they
           appear in plain text and/or control statements.

           The copying of lines from the standard input to the standard
           output is conditional, based on tests (in control
           statements) of keyword values specified in control
           statements or as _v_c command arguments.

           A control statement is a single line beginning with a
           control character, except as modified by the ----tttt keyletter
           (see below).  The default control character is colon (::::),
           except as modified by the ----cccc keyletter (see below).  Input
           lines beginning with a backslash (\\\\) followed by a control
           character are not control lines and are copied to the
           standard output with the backslash removed.  Lines beginning
           with a backslash followed by a non-control character are
           copied in their entirety.

           A keyword is composed of 9 or less alphanumerics; the first
           must be alphabetic.  A value is any ASCII string that can be
           created with _e_d(1); a numeric value is an unsigned string of
           digits.  Keyword values may not contain blanks or tabs.

           Replacement of keywords by values is done whenever a keyword
           surrounded by control characters is encountered on a version
           control statement.  The ----aaaa keyletter (see below) forces
           replacement of keywords in _a_l_l lines of text.  An
           uninterpreted control character may be included in a value
           by preceding it with \\\\.  If a literal \\\\ is desired, then it
           too must be preceded by \\\\.

           KKKKeeeeyyyylllleeeetttttttteeeerrrr aaaarrrrgggguuuummmmeeeennnnttttssss

                ----aaaa             Forces replacement of keywords
                               surrounded by control characters with
                               their assigned value in _a_l_l text lines
                               and not just in _v_c statements.

                ----tttt             All characters from the beginning of a
                               line up to and including the first _t_a_b
                               character are ignored for the purpose of



      Page 1                                                   (9010-E)






      VVVVCCCC((((1111))))                       ((((UUUUNNNNIIIIXXXX 5555....0000))))                      VVVVCCCC((((1111))))



                               detecting a control statement.  If one
                               is found, all characters up to and
                               including the _t_a_b are discarded.

                ----cccc_c_h_a_r         Specifies a control character to be used
                               in place of ::::.

                ----ssss             Silences warning messages (not error)
                               that are normally printed on the
                               diagnostic output.

           VVVVeeeerrrrssssiiiioooonnnn CCCCoooonnnnttttrrrroooollll SSSSttttaaaatttteeeemmmmeeeennnnttttssss

           ::::dcl keyword[, ............, keyword]
                Used to declare keywords.  All keywords must be
                declared.

           ::::asg keyword=value
                Used to assign values to keywords.  An aaaassssgggg statement
                overrides the assignment for the corresponding keyword
                on the _v_c command line and all previous aaaassssgggg's for that
                keyword.  Keywords declared, but not assigned values
                have null values.
                ::::if condition
8                     .
8                     .
8                     .
                ::::end
                Used to skip lines of the standard input. If the
                condition is true all lines between the _i_f statement
                and the matching _e_n_d statement are copied to the
                standard output.  If the condition is false, all
                intervening lines are discarded, including control
                statements.  Note that intervening _i_f statements and
                matching _e_n_d statements are recognized solely for the
                purpose of maintaining the proper _i_f-_e_n_d matching.
                The syntax of a condition is::::

                 <cond>  ::::::::= [ "not" ] <or>
                 <or>    ::::::::= <and> | <and> "|" <or>
                 <and>   ::::::::= <exp> | <exp> "&" <and>
                 <exp>   ::::::::= "(" <or> ")" | <value> <op> <value>
                 <op>    ::::::::= "=" | "!=" | "<" | ">"
                 <value> ::::::::= <arbitrary ASCII string> | <numeric string>

                The available operators and their meanings are::::

                   =      equal
                   !=     not equal
                   &      and
                   |      or
                   >      greater than
                   <      less than
                   ( )    used for logical groupings


9      Page 2                                                   (9010-E)






      VVVVCCCC((((1111))))                       ((((UUUUNNNNIIIIXXXX 5555....0000))))                      VVVVCCCC((((1111))))



                   not    may only occur immediately after the _i_f, and
                          when present, inverts the value of the
                          entire condition

                The >>>> and <<<< operate only on unsigned integer values (e.
                g.:::: 012 > 12 is false).  All other operators take
                strings as arguments (e. g.:::: 012 != 12 is true).  The
                precedence of the operators (from highest to lowest)
                is::::
                   = != > <      all of equal precedence
                   &
                   |
                Parentheses may be used to alter the order of
                precedence.
                Values must be separated from operators or parentheses
                by at least one blank or tab.

           ::::::::text
                Used for keyword replacement on lines that are copied
                to the standard output.  The two leading control
                characters are removed, and keywords surrounded by
                control characters in text are replaced by their value
                before the line is copied to the output file.  This
                action is independent of the ----aaaa keyletter.

           ::::on

           ::::off
                Turn on or off keyword replacement on all lines.

           ::::ctl char
                Change the control character to char.

           ::::msg message
                Prints the given message on the diagnostic output.

           ::::err message
                Prints the given message followed by::::
                     EEEERRRRRRRROOOORRRR:::: err statement on line ............ (915)
                on the diagnostic output.  _V_c halts execution, and
                returns an exit code of 1.

      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
           Use _h_e_l_p(1) for explanations.

      EEEEXXXXIIIITTTT CCCCOOOODDDDEEEESSSS
           0 - normal
           1 - any error







      Page 3                                                   (9010-E)



