Дополнительно к данному здесь краткому описанию можно обратиться к книге Карла Фогеля (Karl Fogel) Open Source Development with CVS, которую можно найти по адресу <http://cvsbook.red-bean.com/>. Главы, посвященные непосредственно системе CVS, можно загружать бесплатно, но для тех, кто планирует использовать систему CVS, хочется настоятельно порекомендовать приобрести эту книгу. Кроме механизмов самой системы CVS, в ней описано, как система вписывается в процесс разработки. Кроме того, можно отслеживать изменения на проекте Subversion <http://subversion.tigris.org/>, который создавался как замена системе CVS.
Если вы работаете с ОС Linux или FreeBSD, то система CVS уже может быть там установлена, если нет, то можно воспользоваться менеджером пакетов, работающим в вашей системе, например RPM или apt-get. При использовании ОС Windows CVS-клиенты могут работать нормально, но CVS-серверы работать не будут. Конечно, можно установить сервер, который будет использовать систему CVS локально, но, для того чтобы работать серьезно с системой CVS, необходима ОС Unix.
Web-узел CVS (<http://www.cvshome.org/>) предоставляет возможность загрузки двоичных кодов для многих операционных систем. Кроме того, можно загрузить исходный код и откомпилировать его самостоятельно. Процедура компиляции предполагает типичные этапы, так как в ней используется файл autoconf. За справками можно обратиться к архиву исходных кодов.
Для установки системы CVS требуется всего лишь один двоичный файл, который обычно устанавливается как /usr/local/bin/cvs. Это клиентское приложение, которое позволяет вносить изменения на сервере через удаленную оболочку. Для того чтобы начать использование узла как CVS-сервера, достаточно создать репозиторий.
Вся работа системы CVS осуществляется с помощью утилиты cvs через командную строку. Команда init создает новый репозиторий, а параметр -d задает путь к нему. Система CVS создает этот каталог и размещает в нем несколько файлов. На рис. 27.1 показана работа оболочки при создании нового репозитория и отображении его содержимого.
Проэктирование
Этот каталог был создан под управлением пользователя root, поэтому никто другой не сможет пользоваться репозиторием. После этого в файле /etc/group была создана группа cvs и с помощью команды chgrp было разрешено пользователям из этой группы пользоваться репозиторием.
Обычно для соединений с системой CVS используется процесс сервера паролей с использованием порта 2401. Процедура инсталляции предусматривает добавление сервера в список демонов inetd. Система CVS работает с множеством пользователей, пароли которых управляются не с помощью файла /etc/passwd процесса pserver. Все команды на сервере паролей выполняются одним пользователем.
Применение утилиты pserver подходит для публичных репозиториев, которые используются в открытых проектах. Ее не следует использовать для внутренних групп разработчиков. Она сложна и менее безопасна, чем SSH.
Система CVS по умолчанию использует оболочку rsh. Для переключения на оболочку SSH необходимо воспользоваться переменной среды CVS_RSH. Например, на рис. 27.2 в файле .bash_profile.
Проэктирование
При удаленном доступе к CVS-серверу необходимо использовать специальную форму записи. В системе CVS для отделения информации о методе аутентификации и имени узла сервера использует двоеточие. Например, :ext:leon@192.168.123. 194:/home/cvshome соответствует моему репозиторию.