Управление исходными текстами. Часть 1. Краткое руководство по CVS - страница 5

стр.

ПРЕДУПРЕЖДЕНИЕ. Некоторые ключи имеют одинаковое наименование, но совершенно разный смысл, когда используются как ключи к CVS (cvs –key command) и как ключи к команде (cvs command –key). Будьте внимательны при использовании ключей и располагайте их в правильном месте.

КлючОписание
-d cvsrootУказать CVSROOT явно. Если не указан, CVS пытается определить CVSROOT из текущего каталога, переменной окружения «CVSROOT» или файла .cvsrc
-qПоказывать меньше информации во время работы (quiet). Подавляется дополнительная информация, например о сканировании дерева каталогов.
-QПоказывать еще меньше информации во время работы (really quiet). Выводятся только сообщения об ошибках.
-rНовые файлы, полученные из репозитория, помечаются флагом read-only. Используется для отслеживания редактирования файлов при помощи watchers/editors.
-wНовые файлы, полученные из репозитория, помечаются флагом read-write (включена по умолчанию). Используется для отключения опции –r при использовании переменных окружения или .cvsrc.
-lНе записывать информацию о выполненной команде в журнал (history log). Команда, тем не менее, выполняется, и все изменения файлов отслеживаются.
-nНе производить никаких фактических изменений в рабочем каталоге. Полезно для проверки наличия изменений в репозитории.
-tПоказывать детально, что происходит во время операции. Особенно полезно для понимания работы CVS, рекомендуется использовать с ключом –n.
-vПоказать версию CVS.
-T tmpdirИспользовать tmpdir как временный каталог во время работы.
-e editorИспользовать editor для редактирования дополнительной информации, например при отсутствии –m у команд, требующих комментария.
-fНе использовать .cvsrc (файл, в котором можно сохранить постоянно используемые настройки, в этой статье не обсуждается).
-z #Сжимать данные при передаче по сети (0 – не сжимать, 9 – максимальное сжатие).
-xШифровать данные при передаче по сети (если поддерживается методом доступа).
-aАвторизоваться при каждом взаимодействии с сервером (если поддерживается методом доступа).
-s VAR=VALУстановить пользовательскую переменную для CVS (в этой статье не обсуждается).

WINCVS. Можно использовать Admin\Command line… для выполнения команд CVS, набранных вручную.

Создание репозитория

Эксперименты проще всего производить с локальным репозиторием. Работа с удаленным CVS мало чем отличается, однако в этом случае Вам должен быть известен правильный CVSROOT. Например, администратор CVS-сервера может создать тестовый репозиторий и сообщить Вам необходимую информацию. Для работы с локальным репозиторием необходимо его проинициализировать самостоятельно. Создайте где-либо пустой каталог и выполните команду инициализации:

>> cvs –d :local:c:/cvs/repository init

>>

Ключ –d позволяет задать CVSROOT в командной строке. Команда init проводит первичную инициализацию репозитория. Вы может создать сколько угодно репозиториев в разных не пересекающихся каталогах и использовать их для различных категорий проектов, разных команд, как приватный и публичный и так далее.

В созданном пустом каталоге должен появиться подкаталог «CVSROOT», содержащий некоторое количество управляющих файлов. В этой статье устройство репозитория рассматриваться не будет.

WINCVS. Локальный репозиторий создается командой "Create\Create a new repository…".

Создание проекта

Прежде чем помещать проект под управление CVS, следует тщательно продумать конфигурацию проекта, именование файлов и структуру каталогов. Особенно это важно в отношении каталогов. В связи с тем, что CVS должен хранить редакции всех, даже удалённых файлов, каталоги никогда не удаляются. Поэтому переименование каталогов и перемещение файлов могут вызвать трудности.

СОВЕТ Если используется Windows - давайте всем файлам имена в нижнем регистре.

Начните с проекта, состоящего из одного текстового файла. В пустом каталоге с именем “test” создайте файл “readme.txt” следующего содержания:

>This is line number one

>This is another line of source code

>Will CVS automatically save my code each hour? No, but you can schedule automatic commit operation.