vc(1) vc(1)NAME vc - version control SYNOPSIS vc [-a] [-cchar] [-s] [-t] [keyword=value]... DESCRIPTION The vc command copies lines from the standard input to the standard output under control of its arguments and control statements encountered in the standard input. In the pro- cess of performing the copy operation, user declared key- words 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 state- ments) of keyword values specified in control statements or as vc command arguments. A control statement is a single line beginning with a con- trol character, (unless the -t keyletter is used, in which case, all characters up to and including the first tab are ignored , and what follows begins the control statement (see below)). The default control character is colon (:). This can be changed by the -c keyletter (see below). Input lines beginning with a backslash (\) followed by a control charac- ter are not control lines and are copied to the standard output with the backslash removed. Lines beginning with a backslash followed by a noncontrol 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(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 -a keyletter (see below) forces re- placement of keywords in all lines of text. An uninterpret- ed control character may be included in a value by preceding it with \. If a literal \ is desired, then it too must be preceded by \. Keyletter Arguments -a Forces replacement of keywords surrounded by con- trol 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. April, 1990 1
vc(1) vc(1)If one is found, all characters up to and includ- ing the tabs are discarded. -cchar Specifies a control character to be used in place of :. -s Silences warning messages (not error) that are normally printed on the diagnostic output. Version Control Statements :dcl keyword [, ..., keyword] Used to declare keywords. All keywords must be declared. :asg keyword=value Used to assign values to keywords. An asg statement overrides the assignment for the corresponding keyword on the vc command line and all previous asg's for that keyword. Keywords declared, but not assigned values have null values. :if condition...:end Used to skip lines of the standard input. If the condi-tion is true all lines between the if statement and thematching end statement are copied to the standard out-put. If the condition is false, all intervening linesare discarded, including control statements. Note thatintervening if statements and matching end statementsare recognized solely for the purpose of maintainingthe 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> | <numericstring>The available operators and their meanings are:= equal!= not equal& and| or> greater than< less than( ) used for logical groupings2 April, 1990
vc(1) vc(1)not may only occur immediately after the if, and when present, inverts the value of the en- tire 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 charac- ters 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 Prints the given message on the diagnostic output. :err message Prints the given message followed by:ERROR: err statement on line ... (915)on the diagnostic output. vc halts execution, and returns an exit code of 1. EXAMPLES If you have a file named note containing: :dcl NAME,PLACE :NAME:, Just a note to remind you that we have a meeting scheduled Monday morning at :PLACE:. April, 1990 3
vc(1) vc(1)the command vc -a NAME=Joe PLACE=University < note will produce Joe, Just a note to remind you that we have a meeting scheduled Monday morning at the University. FILES /usr/bin/vc SEE ALSO admin(1), cdc(1), comb(1), delta(1), ed(1), get(1), help(1), rmdel(1), prs(1), sact(1), sccs(1), sccsdiff(1), unget(1), val(1), what(1), sccsfile(4). ``SCCS Reference'' in A/UX Programming Languages and Tools, Volume 2. DIAGNOSTICS Use help(1) for explanations. EXIT CODES 0 - normal 1 - any error 4 April, 1990