Вы можете определить виды протоколирования и описать дополнительные действия, которые должны будут выполняться при различных командах 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 может
иметь следующие значения:
Ниже привед©н пример файла taginfo
ALL /usr/local/cvsroot/CVSROOT/loggit
где файл /usr/local/cvsroot/CVSROOT/loggit содержит
следующее:
#!/bin/sh echo "$@" >>/home/kingdon/cvsroot/CVSROOT/taglog