Дополнительно к данному здесь краткому описанию можно обратиться к книге Карла Фогеля (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 соответствует моему репозиторию.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Проэктирование. Часть Шестая.
26-06-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Проэктирование. Часть Пятая. | PHP. Проэктирование. Часть Седьмая. |