Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
vc(1)				  User Commands 			   vc(1)

NAME
     vc - version control

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

DESCRIPTION
     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 keyword 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 con-
     ditional,	based  on tests (in control statements) of keyword values speci-
     fied 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 back-
     slash removed.  Lines beginning with a backslash followed by a  non-control
     character are copied in their entirety.

     A	keyword  is  composed of 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 \.

OPTIONS
     The following options are supported:

     -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  char-
	       acters up to and including 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: 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

	 not	may  only  occur immediately after the if, and when present, in-
		verts the value of the entire condition

	 The > and < operate only on unsigned integer values (for example, : 012
	 > 12 is false).  All other operators take strings as arguments (for ex-
	 ample, : 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.

ENVIRONMENT VARIABLES
     See environ(7) for descriptions of the following environment variables that
     affect  the  execution  of  vc(1): LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and
     NLSPATH.

     SCCS_NO_HELP
	    If set, vc(1) will not automatically call help(1) with the SCCS  er-
	    ror  code  in  order  to print a more helpful error message. Scripts
	    that depend on the exact error messages of SCCS commands should  set
	    the environment variable SCCS_NO_HELP and set LC_ALL=C.

EXIT STATUS
     The following exit values are returned:

     0	  Successful completion.

     1	  An error occurred.

FILES
     dump.core
	    If	the  file  dump.core exists in the current directory and a fatal
	    signal is received, a coredump is initiated via abort(3).

ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

     +------------------------------+-----------------------------+
     |	     ATTRIBUTE TYPE	    |	   ATTRIBUTE VALUE	  |
     +------------------------------+-----------------------------+
     | Availability		    |SUNWsprot			  |
     +------------------------------+-----------------------------+

SEE ALSO
     ed(1), attributes(7).

BUGS
     None currently known.

     Mail bugs and suggestions	to  schilytools@mlists.in-berlin.de  or  open  a
     ticket at https://codeberg.org/schilytools/schilytools/issues.

     The mailing list archive may be found at:

     https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de.

AUTHORS
     vc was originally written by Eric Allman at UCB in 1980. It was later main-
     tained  by  various people at AT&T and Sun Microsystems. Since 2006, it has
     been maintained by Jrg Schilling and the schilytools project authors.

SOURCE DOWNLOAD
     The source code for SCCS is included in the schilytools project and may  be
     retrieved from the schilytools project at Codeberg at

     https://codeberg.org/schilytools/schilytools.

     The download directory is

     https://codeberg.org/schilytools/schilytools/releases.

SunOS 5.11			   2022/10/06				   vc(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vc&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help