Управление исходными текстами. Часть 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.