Так как переименование файлов и перемещение их между каталогами слегка неудобно, первое, что вам следует сделать, когда вы начинаете новый проект -- продумать организацию файлов. Собственно, перемещать и переименовывать файлы можно, но это, во-первых, увеличивает возможность недопонимания, а во-вторых, у CVS есть некоторые неполадки, например, при переименовании каталогов. See section Перемещение и переименование файлов.
Дальнейшие действия зависят от конкретной ситуации.
Первым шагом будет создание файлов в репозитории. Это может быть сделано несколькими различными способами.
Когда вы начнете использовать CVS, вы, скорее всего, уже
имеете несколько проектов, которые можно поместить под контроль
CVS. В этих случаях самым простым методом будет
использование команды import
. Самым простым объяснением,
вероятно, будет привести пример. Если файлы, которые вы хотите
поместить под CVS, находятся в `wdir', а вы
хотите, чтобы они появились в репозитории в каталоге
`$CVSROOT/yoyodyne/rdir', вы можете сказать:
$ cd wdir $ cvs import -m "Imported sources" yoyodyne/rdir yoyo start
Если вы не укажете журнальное сообщение с помощью ключа командной строки `-m', то CVS запустит редактор, в котором можно будет набрать это сообщение. Строка `yoyo' -- это тэг производителя, а `start' -- это тэг релиза. В данном контексте они могут не иметь назначения, но CVS требует их присутствия. See section Слежение за чужими исходными текстами, за дальнейшей информацией.
Теперь вы можете проверить, что все работает и удалить ваш исходный каталог.
$ cd .. $ mv dir dir.orig $ cvs checkout yoyodyne/dir # объяснение следует $ diff -r dir.orig yoyodyne/dir $ rm -r dir.orig
Было бы неплохо удалить изначальные файлы, чтобы случайно не начать редактировать их в dir без использования CVS. Конечно же, перед удалением хорошо было бы убедиться, что у вас есть резервная копия исходных текстов.
Команда checkout
получает в качестве аргумента имя модуля
(как в предыдущих примерах) или имя каталога относительно
$CVSROOT
, как в вышеприведенном примере.
Хорошо было бы проверить, что права доступа на созданные CVS каталоги правильны, и что эти каталоги принадлежат должным группам. See section Права доступа к файлам.
Если какие-то из файлов, которые нужно импортировать, являются бинарными, вам потребуется использовать обертки, чтобы указать, какие именно. See section Файл `cvswrappers'.
Если у вас есть проект, который обслуживается другой системой контроля версий, например, RCS, вы можете захотеть поместить эти файлы под управление CVS и сохранить историю изменения этих файлов.
Для нового проекта самым простым способом, вероятно, будет создать пустую структуру каталогов, например:
$ mkdir tc $ mkdir tc/man $ mkdir tc/testing
Затем используйте команду import
, чтобы создать
соответствующую (пустую) структуру каталогов внутри репозитория:
$ cd tc $ cvs import -m "Created directory structure" yoyodyne/dir yoyo start
Затем используйте команду add
, чтобы добавлять файлы и
новые каталог по мере их появления.
Убедитесь, что права доступа, которые CVS дает новым каталогам в `$CVSROOT', правильны.
Следующим шагом будет определение модуля в файле `modules'. Это необязательно, но модули удобны для группирования связанных файлов и каталогов.
В простых случаях нижеследующих шагов достаточно для определения модуля.
$ cvs checkout CVSROOT/modules $ cd CVSROOT
tc yoyodyne/tc
$ cvs commit -m "Added the tc module." modules
CVSROOT
.
$ cd .. $ cvs release -d CVSROOT
Go to the first, previous, next, last section, table of contents.