Алексей Махоткин

домашняя страница

CVS — Система Управления Параллельными Версиями

Go to the first, previous, next, last section, table of contents.


Файл loginfo

Файл `loginfo’ используется для управления тем, куда посылается журнальная информация при выполнении `cvs commit’. В левой части строки находится регулярное выражение, с которым совпадает имя каталога, в котором производится изменение, относительно $CVSROOT. Остаток соответствующей строки – это программа-фильтр, которая получает журнальное сообщение на стандартный ввод.

Если имя в репозитории не совпадает ни с одним регулярным выражением, используется строка `DEFAULT’, если она есть.

Все строки, начинающиеся с `ALL’, используются вдобавок к обычным строкам с совпадающим регулярным выражением, и со строкой `DEFAULT’.

Используется первое совпадающее регулярное выражение.

See section Выполнение программ на разных стадиях фиксирования, где описан синтаксис файла `loginfo’.

Пользователь может использовать в имени команды форматные строки. Такие строки состоят из символа `%’, за которым следует пробел, одиночный форматный символ или набор форматных символов, заключенных в скобки `{’ и `}’. Форматные символы таковы:

s
имя файла
V
старый номер ревизии (перед фиксированием)
v
новый номер ревизии (после фиксирования)

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

Например, можно использовать форматные строки `%’, `%s’, `%{s}’ и `%{sVv}’.

На выходе образуется строка токенов, разделенных пробелами. Для обратной совместимости первый токен – это имя репозитория, остальные – список запрошенных в форматной строке полей, разделенных запятыми. Например, если репозиторий находится в `/u/src/master’, форматная строка `%{sVv}’, а были изменены три файла, (`ChangeLog’, `Makefile’ и `foo.c’), то на выходе появится

/u/src/master ChangeLog,1.1,1.2 Makefile,1.3,1.4 foo.c,1.12,1.13

В качестве другого примера: `%{}’ означает, что на выходе появится только имя репозитория.

Замечание: когда CVS обращается к сетевому репозиторию, то `loginfo’ будет исполнен на стороне сервера, а не на стороне клиента (see section Сетевые репозитории).


Go to the first, previous, next, last section, table of contents.

Comments