OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  Порядок работы с CVS
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...

↓  На эту страницу ссылаются:

Get Firefox!
[~]

Порядок работы с CVS

Идеология

На неком сервере 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


 Комментарии (0)


Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]