На неком сервере CVS есть репозитарий исходных текстов. На локальной машине - проект в виде дерева директорий и файлов. Этот проект помещается в репозитарий и с рабочей машины удаляется. Затем, при необходимости работы с проектом, производятся следующие действия:
проект на рабочей машине получается (или обновляется) из репозитория
в файлы вносятся изменения
изменения фиксируются в репозитории и становятся доступными остальным участникам проекта.
Для указания требуемого репозитория команде cvs
его имя передаётся через ключ -d
или переменную окружения CVSROOT
.
В первом случае каждая команда CVS имеет вид
cvs -d :pserver:user@host:/path/to/cvs <command>
во втором требуется перед работой с CVS выполнить команду
export CVSROOT=:pserver:user@host:/path/to/cvs
Путь следует задавать только при создании проекта и его начальном получении из репозитория. Команды, работающие с уже полученными из репозитория файлами, берут настройки из файлов в директориях CVS.
Далее считается, что репозиторий задан через CVSROOT .
В случае использовании для доступа к репозиторию pserver (путь вида :pserver:user@host:/path/to/cvs) перед началом работы следует выполнить команду cvs login
. При этом будет запрошен пароль к репозиторию, проверен и записан в файл .cvspass
. Если используется SSH (путь вида :ext:user@host:/path/to/cvs), пароль спрашивается при каждом обращении к серверу.
Создается директория под проект, в нее помещаются необходимые файлы.
В данной директории выдается команда
$ cvs -d <path> import -b 1.1.1 <Project_name> <Vendor> <ReleaseTag>
path - путь к репозиторию.<br/>
Project_name - имя проекта (имя директории)<br/>
Vendor - что угодно, может совпадать с именем проекта<br/>
ReleaseTag - что угодно, наименование релиза помещаемого проекта.<br/>
С номерами версий '0' могут быть проблемы, лучше их не использовать.
После импорта проекта в репозиторий директорию проекта можно удалить.
Используется команда
$ cvs -d <path> checkout <Project_name>
В текущей директории создается каталог <Project_name> и в него помещаются все текущие файлы проекта. Если каталог уже есть, файлы проверяются и обновляются по необходимости.
Сравнение файлов текущей директории с состоянием репозитория и их обновление до текущей версии производится командой cvs update
. Желательно выполнять ее с ключом -d ( cvs update -d
для прохода по дереву директорий.
Изменённые файлы помещаются в репозиторий командой cvs commit
. В ходе выполнения её вызывается редактор для записи отметок о производимых изменениях.
Бинарные файлы лучше в CVS не держать. В случае крайней необходимости –
помечать их как бинарные. Для этого или при добавлении их в CVS задавать ключ
-kb: cvs add -kb <files>
, или потом делать cvs admin -kb <files>
.
Под KDE довольно удобно использовать cervisia, встроенную в konqueror.
Правда, перед ее использованием следуют в каталоге CVS сделать cvs login.
При извлечении файла из репозитория CVS проводит в нём поиск ряда последовательностей и заменяет их на информацию о версии файла. Заменяемые последовательности:
$Id:$ | Имя файла, его версия, дата изменения, редактор |
$RCSFile:$ | Имя файла |
$Revision:$ | Версия файла |
$Date:$ | Дата версии файла |
Список файлов в данной директории (и шаблонов имён файлов), которые не требуется помещять в репозитарий, можно указывать в файле .cvsignore . Сам файл желательно поместить в CVS.
Дата создания: 2006-05-24 10:54:37 (Фетисов Н. А. (naf))
Последнее изменение: 2006-05-24 10:54:37 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 1
Wiki::Admin Карта раздела Оглавление Изменения за сутки Изменения за неделю Изменения за месяц