14.11 Протоколирование операций CVS contents

14.11 Протоколирование операций CVS

Вы можете определить виды протоколирования и описать дополнительные действия, которые должны будут выполняться при различных командах CVS. Такие действия выполняются пут©м интерпретации скриптов в то или иное время. Скрипты могут добавлять какую-то стандартную информацию к протоколу, например, имя программиста, другую полезную информацию, посылать уведомления некоторому кругу лиц, а также производить другие полезные действия. Для того, чтобы протоколировать команду commit можно использовать файл loginfo и другие (смотрите раздел 14.10). Чтобы протоколировать выполнение команд commit, checkout, export, tag, необходимо использовать параметры -i, -o, -e, -t в файле modules соответственно. Более гибким способом уведомления нескольких лиц об изменениях в хранилище является вызов команды cvs watch add. Эта команда полезна, даже если вы не используете команду cvs watch on.

Файл taginfo определяет программу, которая вызывается, когда кто-то выполняет команду cvs tag или cvs rtag. Файл taginfo имеет стандартную форму для административных файлов такого вида, где каждая строка представляет собой регулярное выражение и команду, которая выполнится, если регулярное выражение сработало. Аргументы передаются команде в следующем порядке:
TAGNAME, OPERATION, REPOSITORY и все остальное переда©тся парами: FILENAME REVISION. Ненулевой код завершения программы прекращает выполнение соответствующей команды, т.е. тег не будет установлен. Поле OPERATION может иметь следующие значения:

add
для команды tag;
mov
для команды tag -F;
del
для команды tag -d.

Ниже привед©н пример файла taginfo
ALL /usr/local/cvsroot/CVSROOT/loggit
где файл /usr/local/cvsroot/CVSROOT/loggit содержит следующее:


  #!/bin/sh

  echo "$@" >>/home/kingdon/cvsroot/CVSROOT/taglog


contents Обновлено: 16.03.2015