14.13 Создание файлов проекта в хранилище contents

Подраздел


14.13 Создание файлов проекта в хранилище

Поскольку переименование файлов и каталогов является неудобной операцией, то прежде чем начать новый проект полезно установить некоторые соглашения об именах и об организации файлов в целом. Переименование не является полностью невозможным делом, однако, если изменяются имена десятков или сотен файлов и каталогов, то такая операция увеличивает вероятность внесения ошибок. Может случиться так, что ошибки в именах обнаружатся (если такое произойд©т) спустя значительное время после выполнения переименований.

Что делать для создания файлов зависит от вашего текущего состояния.

14.13.1 Существующие файлы

Когда вы решили начать использование CVS, вы, возможно, уже вед©те какие-то проекты и имеете группы файлов, которые вы хотели бы поместить в хранилище CVS. В таком случае удобнее всего использовать команду
cvs import.

Предполагается, что установлена переменная окружения $CVSROOT, указывающая на местоположение хранилища CVS. Пусть ваши файлы находятся, например, в каталоге WorkDIR, то вам удобнее сначала перейти в WorkDIR
cd WorkDIR

Предположим далее, что вам удобнее разместить ваш проект в каталоге хранилища под названием PHENIX. Тогда

cvs import -m "Imported sources" PHENIX MyProgs start

По этой команде содержимое каталога WorkDIR будет переписано в хранилище $CVSROOT/PHENIX. Несмотря на то, что вы указали параметр -m CVS вызовет редактор текста для ввода комментария. Строка MyProgs является специальным тегом, который должен быть здесь, а start - это освобождающий тег.

Далее можно проверить, что все сработало так как ожидалось.
cd ..
mv WorkDIR WorkDIR_Initial
cvs checkout PHENIX
ls -R PHENIX
rm -r WorkDIR_Initial

Удаление исходного каталога является неплохой идеей, поскольку это будет гарантировать, что вы случайно не отредактируете файлы из каталога WorkDIR в обход системы CVS.

Команда checkout системы CVS может иметь в качестве аргумента как имя каталога в хранилище, так и имя отдельного модуля, но любое имя является относительным к $CVSROOT

Если некоторые файлы, которые вы хотели бы импортировать являются двоичными, то, возможно, вы захотите использовать особенность wrappers, чтобы установить какие файлы являются двоичными, а какие текстовыми.


contents Обновлено: 16.03.2015