Вход/Регистрация
Основы программирования в Linux
вернуться

Мэтью Нейл

Шрифт:

# chgrp users /usr/local/repository

# chmod g+w /usr/local/repository

И превратившись снова в обычного пользователя, инициализируйте его как репозитарий CVS. У вас должно быть право на запись в каталог usr/local/repository, если вы не входите в группу обычных пользователей.

$ cvs -d /usr/local/repository init

Опция

– d
информирует CVS о том, где вы хотите создать репозитарий.

После создания репозитария можно сохранить начальные версии файлов проекта в системе CVS. Но в этот момент можно сэкономить на наборе. У всех команд

cvs
есть два способа поиска каталога системы CVS. Во-первых, они ищут опцию
– d <путь>
в командной строке (как и в команде
init
), если опций
– d
нет, ищется переменная окружения
CVSROOT
. Вместо постоянного применения опции -а вы задаете переменную окружения. Приведенную далее команду можно использовать, если в качестве командной оболочки вы применяете bash:

$ export CVSROOT=/usr/local/repository

Прежде всего, вы изменяете каталог, в котором находится проект; далее вы сообщаете CVS о необходимости импортировать все файлы проекта в этот каталог. Для системы CVS проект — это любая коллекция связанных файлов и каталогов. Обычно она включает все файлы, необходимые для создания приложения. Термин "импорт" означает передачу всех файлов под контроль системы CVS и копирование их в CVS-репозитарий. В данном примере у вас есть каталог cvs-sp (простой проект CVS), содержащий два файла — hello.c и Makefile.

$ cd cvs-sp

$ ls -l

– rw-r--r-- 1 neil users 68 2003-02-15 11:07 Makefile

– rw-r--r-- 1 neil users 109 2003-02-15 11:04 hello.c

Команда импорта в CVS (

cvs import
) применяется следующим образом: 

$ cvs import -m"Initial version of Simple Project" wrox/chap9-cvs wrox start

Это заклинание заставляет CVS импортировать все файлы в текущий каталог (cvs-sp) и передает системе регистрационное сообщение (log message).

Аргумент

wrox/chap9-cvs
информирует CVS о том, где относительно корня дерева CVS сохранять новый проект. Напоминаем, что при желании в одном репозитарии можно хранить несколько проектов. Параметр
wrox
— тег поставщика, применяемый для идентификации автора первоначальной версии импортируемых файлов, а
start
— тег версии. Теги версии можно применять для идентификации в виде группы наборов связанных файлов, создающих конкретную версию приложения. Система CVS отвечает строками

N wrox/chap9-cvs/hello.c

N wrox/chap9-cvs/Makefile

Nо conflicts created by this import

информируя вас о том, что два файла импортированы корректно.

Сейчас самое время проверить возможность извлечения ваших файлов из системы CVS. Вы можете создать каталог junk и вернуть в него файлы, чтобы убедиться в том, что все нормально:

$ mkdir junk

$ cd junk

$ cvs checkout wrox/chap9-cvs

U wrox/chap9-cvs/Makefile

U wrox/chap9-cvs/hello.с

Вы указываете CVS тот же путь, что и при копировании файлов в репозитарий. Система CVS создает в текущем каталоге каталог wrox/chap9-cvs и помещает туда файлы.

Теперь вы готовы внести некоторые изменения в ваш проект. Отредактируйте файл hello.c в каталоге wrox/chap9-cvs, вставив в него строку

printf("Have a nice day\n");

Затем откомпилируйте заново и выполните программу, чтобы убедиться в том, что все в порядке:

$ make

сс hello.c -о hello

$ ./hello

Hello World

Have a nice day

$

Вы можете спросить у системы CVS о том, что изменилось в проекте. Не нужно сообщать CVS, какой именно файл вас интересует, она может работать со всем каталогом одновременно.

  • Читать дальше
  • 1
  • ...
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: