Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

help(1)

ed(1)





   vc(1)             (Source Code Control System Utilities)              vc(1)


   NAME
         vc - version control

   SYNOPSIS
         vc [-a] [-t] [-cchar] [-s] [keyword=value ... keyword=value]

   DESCRIPTION
         This command is obsolete and will be removed in the next release.

         The vc command copies lines from the standard input to the standard
         output under control of its arguments and of ``control statements''
         encountered in the standard input.  In the process of performing the
         copy operation, user-declared keywords may be replaced by their
         string value 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 vc command arguments.

         A control statement is a single line beginning with a control
         character, except as modified by the -t keyletter (see below).  The
         default control character is colon (:), except as modified by the -c
         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 ed;
         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 -a keyletter (see below) forces replacement of
         keywords in all 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 \.

         The following options are valid:

         -a          Forces replacement of keywords surrounded by control
                     characters with their assigned value in all text lines
                     and not just in vc statements.

         -t          All characters from the beginning of a line up to and
                     including the first tab character are ignored for the
                     purpose of detecting a control statement.  If a control
                     statement is found, all characters up to and including


   7/91                                                                 Page 1









   vc(1)             (Source Code Control System Utilities)              vc(1)


                     the tab are discarded.

         -cchar      Specifies a control character to be used in place of the
                     ``:'' default.

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

         vc recognizes the following version control statements:

         :dcl keyword[, ..., keyword]
               Declare keywords.  All keywords must be declared.

         :asg keyword=value
               Assign values to keywords.  An asg statement overrides the
               assignment for the corresponding keyword on the vc command line
               and all previous asg statements for that keyword.  Keywords
               that are declared but are not assigned values have null values.

         :if condition
               ...
         :end
               Skip lines of the standard input.  If the condition is true,
               all lines between the if statement and the matching end
               statement are copied to the standard output.  If the condition
               is false, all intervening lines are discarded, including
               control statements.  Note that intervening if statements and
               matching end statements are recognized solely for the purpose
               of maintaining the proper if-end 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




   Page 2                                                                 7/91









   vc(1)             (Source Code Control System Utilities)              vc(1)


                     not       may only occur immediately after the if, 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
               Replace keywords 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 -a keyletter.

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

         :ctl char
               Change the control character to char.

         :msg message
               Print message on the diagnostic output.

         :err message
               Print message followed by:

                     ERROR: err statement on line ... (915)

               on the diagnostic output.  vc halts execution, and returns an
               exit code of 1.

   EXAMPLE
         If you have a file named note containing,

               :dc1 NAME PLACE
                  :NAME:,
                  Just a note to remind you that we
                  have a meeting scheduled Monday
                  morning at :PLACE:,


   7/91                                                                 Page 3









   vc(1)             (Source Code Control System Utilities)              vc(1)


         The command,

               VC -a NAME=JOE PLACE=WIDGET INC. < note

         will produce,

               Joe
               Just a note to remind you that we have
               a meeting Monday morning at Widget Inc..

   SEE ALSO
         help(1).
         ed(1) in the User's Reference Manual.








































   Page 4                                                                 7/91





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026