VC(1)

НАЗВАНИЕ
vc - управление версиями

СИНТАКСИС


	vc  [-a] [-t] [-cсим] [-s] [ключевое_слово=значение ...]

ОПИСАНИЕ
Команда vc копирует строки со стандартного ввода на стандартный вывод. При этом текст в строках изменяется в соответствии с аргументами команды vc и операторами, встретившимися в стандартном вводе. Во время копирования об явленные ключевые_слова, обнаруженные в обычном тексте и/или операторах, могут быть заменены на их значения.

В число операторов входят условные, проверяющие значения ключевых слов, заданных в других операторах или в командной строке vc.

Если в команде vc не указана опция -t (см. ниже), то оператором считается строка, начинающаяся с управляющего символа. По умолчанию управляющим символом является двоеточие (:); с помощью опции -c (см. ниже) управляющий символ можно сменить. Строка, начинающаяся с символа \, за которым следует управляющий символ, не является оператором и копируется на стандартный вывод без \. Если строка начинается с символа \, за которым следует не управляющий символ, то она копируется целиком.

Ключевое слово состоит не более чем из 9 символов, первый из которых должен быть буквой, а остальные - буквой или цифрой. Значением может быть любая цепочка символов ASCII, которую можно получить с помощью редактора ed(1); числовым значением является последовательность цифр без знака. Значения ключевых слов не могут содержать пробелы или символы табуляции.

Замена ключевого слова его значением происходит всякий раз, когда окруженное управляющими символами ключевое слово встречается в операторе. Чтобы ключевые слова заменялись на их значения во всех строках, нужно указать опцию -a. Неинтерпретируемый управляющий символ может быть включен в значение ключевого слова; для этого нужно перед ним поместить символ \. Если требуется включить сам символ \, его следует повторить дважды.

Допустимые опции:
-a Принудительная замена ключевых слов, окруженных управляющими символами, на их значения не только в операторах, но и во всех текстовых строках.
-t При поиске управляющего символа все символы от начала строки до первого символа табуляции включительно игнорируются. Если далее идет управляющий символ, часть строки до него, включая символ табуляции, отбрасывается.
-cсим Задание другого управляющего символа вместо двое точия.
-s Подавляются сообщения-предупреждения (не ошибки), выдаваемые в стандартный протокол.

Операторы управления версиями (или просто операторы):

:dcl ключевое_слово[,...ключевое_слово]
Об явление ключевых слов. Все используемые ключевые слова должны быть об явлены.

:asg ключевое_слово=значение
Присваивание нового значения ключевому_слову. Старое значение, указанное в командной строке vc или предыдущих операторах, пропадает. Об явленные ключевые слова, которым ничего не присваивалось, имеют пустое значение.

:if условие
...
:end
Используется для того, чтобы пропускать строки в стандартном вводе. Если условие истинно, то все строки между if и соответствующим end копируются на стандартный вывод. Если условие ложно, то промежуточные строки, в том числе и операторные, пропускаются. Заметим, что все внутренние if и end распознаются исключительно для того, чтобы отслеживать правильность соответствия между if и end. Синтаксис условия:

	<усл>   ::= ["not"] <или>

	<или>   ::= <и> | <и> "|" <или>

	<и>     ::= <выр> | <выр> "&" <и>

	<выр>   ::= "(" <или> ")" | <знач> <оп> <знач>

	<оп>    ::= "=" | "!=" | "<" | ">"

	<знач>  ::= <цепочка произвольных символов> | <цепочка цифр>

Допустимые знаки операций и их смысл:


	=       равно

	!=      не равно

	&       и

	|       или

	>       больше

	<       меньше

	( )     группировка

	not     может  встречаться  только сразу после if;

        инвертирует значение всего условия.

Операндами операций > и < могут быть только целые без знака. Например, результатом сравнения 012 > 12 будет ложь. Операнды всех остальных операций рассматриваются как цепочки символов. Например, результатом сравнения 012 != 12 будет истина. Приоритет операций (в порядке убывания):


	=  !=  >  <    равный приоритет

	&

	|

Для изменения порядка действий используются круглые скобки. Значения должны быть отделены от знаков операций и скобок по крайней мере одним пробелом или символом табуляции.

::текст
Если в начале строки, копируемой в стандартный вывод, находятся два управляющих символа, то замена ключевых слов на значения будет произведена в тексте независимо от того, указана опция -a в команде vc или нет. При копировании первые два управляющих символа удаляются.

:on
:off
Включает или выключает замену ключевых слов во всех строках.

:ctl сим
Изменяет управляющий символ на сим.

:msg сообщение
Выдает указанное сообщение в стандартный протокол.

:err сообщение
Выдает в стандартный протокол строки:

	ERROR: сообщение

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

Выполнение команды vc прекращается, код завершения равен 1.

СМ. ТАКЖЕ
ed(1), help(1).

КОДЫ ЗАВЕРШЕНИЯ


	0    Ошибок не было.

	1    Зафиксированы ошибки.

ДИАГНОСТИКА
Для раз яснений пользуйтесь командой help(1).