Где хранятся файлы в репозитории
Общая структура репозитория -- это дерево каталогов, соответствующее каталогам в рабочей копии. Предположим, например, что репозиторий находится в /usr/local/cvsroot
Вот возможное дерево каталогов (показаны только каталоги):
/usr
| +--local
| | | +--cvsroot
| | | | | +--CVSROOT
| (административные файлы) | +--gnu
| | | +--diff
| | (исходный текст GNU diff) | | | +--rcs
| | (исходный текст RCS) | | | +--cvs
| (исходный текст CVS) | +--yoyodyne | +--tc | | | +--man | | | +--testing | +--(другое программное обеспечение фирмы Yoyodyne)
Внутри каталогов находятся файлы истории для каждого файла, находящегося под контролем версий. Имя файла истории -- это имя соответствующего файла с добавленным в конце `,v'. Вот как выглядит дерево каталогов для `yoyodyne/tc': $CVSROOT | +--yoyodyne | | | +--tc | | | +--Makefile,v +--backend.c,v +--driver.c,v +--frontend.c,v +--parser.c,v +--man | | | +--tc.1,v | +--testing | +--testpgm.t,v +--test2.t,v
Файл истории содержит, помимо всего прочего, достаточно информации, чтобы воссоздать любую редакцию файла, журнал всех зафиксированных изменений и имена всех пользователей, сделавших эти изменения. Файлы истории известны как RCS-файлы, потому что первой программой, которая создавала файлы этого формата, была система контроля версий RCS. Полное описание формата файлов находится на странице руководства rcsfile(5), распространяемого вместе с RCS, или в файле `doc/RCSFILES' в комплекте исходных текстов CVS. Этот формат файла используется повсеместно -- множество других программ могут по меньшей мере импортировать файлы этого формата.
Файлы RCS, используемые в CVS, отличаются от стандартного формата в нескольких местах. Наличие волшебных веток -- Самое большое отличие; смотри section Волшебные номера веток. Имена меток, которые позволяет использовать CVS, являются подмножеством тех, что позволены в RCS; смотри главу section Метки ревизий.