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

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

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

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


Как в каталоге CVSROOT хранятся файлы

Каталог `$CVSROOT/CVSROOT’ содержит различные административные файлы. В каком-то смысле этот каталог подобен любому другому каталогу в репозитории; он содержит RCS-файлы, чьи имена заканчиваются на `,v’, и многие команды CVS оперируют с ними обычным образом. Однако, имеется несколько различий.

Для каждого административного файла, в дополнение к RCS-файлу, хранится его последняя ревизия. Например, есть RCS-файл `loginfo,v’ и файл `loginfo’, содержащий последнюю ревизию, находящуюся в `loginfo,v’. Когда вы фиксируете административный файл, CVS должен написать:

cvs commit: Rebuilding administrative file database

и обновить его извлеченную копию в `$CVSROOT/CVSROOT’. Если это не так, значит, что-то случилось с CVS (see section Что делать с ошибками в CVS и этом руководстве?). Чтобы ваши CVS обращался с вашими собственными файлами точно так же, вы можете добавить их имена в административный файл `checkoutlist’.

По умолчанию, файл `modules’ ведет себя как описано выше. Если же он становится очень большим, то хранение в виде плоского файла может привести к медленному поиску модулей (я не уверен, что это все еще столь же важно, как и тогда, когда эта возможность впервые появилась; я не видел расчетов быстродействия). Таким образом, внеся определенные изменения в исходный код CVS, можно хранить файл модулей в базе данных, которая имеет интерфейс с ndbm, например, Berkeley db или GDBM. Если эта опция используется, то база данных модулей будет храниться в файлах `modules.db’, `modules.pag’ и/или `modules.dir’.

Информация о назначении разнообразных административных файлов находится в section Справочник по административным файлам.


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

Comments