Имеются определённые ключи команд CVS, которые используются столь часто, что вы захотите настроить для них что-то типа синонима. Основным примером (именно он и привел к поддержке файла `~/.cvsrc') является то, что многим не нравится стандартная форма выдачи изменений, которая используется в команде `diff', и они предпочитают контекстную или унифицированную выдачу изменений, которые выглядят значительно лучше.
Файл `~/.cvsrc' -- это способ установить ключи по умолчанию для команд CVS, не используя синонимов, скриптов оболочки и т. п.
Формат файла `~/.cvsrc' прост. В нем ищется строка, чье начало совпадает с именем выполняемой команды CVS. Если совпадающая строка найдена, то остаток строки расщепляется на ключи командной строки и добавляется к командной строке перед ключами из настоящей командной строки.
Если у команды есть два имени (например, checkout
и
co
), то для поиска используется официальное имя, не
обязательно совпадающее с тем, что использовалось при вызове
CVS. Таким образом, если содержимое файла `~/.cvsrc'
таково:
log -N diff -u update -P checkout -P
то к аргументам команды `cvs checkout foo' добавится ключ `-P', и точно то же самое произойдет с командой `cvs co foo'.
При использовании вышеприведенного файла команда `cvs diff
foobar' будет выдавать изменения в унифицированном формате.
`cvs diff -c foobar' будет, как обычно, выдавать контекстные
изменения. Получение изменений в "старом" формате чуть более
сложно, потому что у команды diff
нет способа задать
выдачу в "старом" формате, поэтому вам потребуется использовать
`cvs -f diff foobar'.
Вместо имени команды вы можете использовать cvs
, чтобы
задать глобальные ключи (see section Глобальные ключи командной строки). Например,
такая строка в файле `~/.cvsrc' включит использование
шестого уровня компрессии:
cvs -z6
Go to the first, previous, next, last section, table of contents.