Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Перемещение сегмента кода из одной области файла в другую рассматривается как удаление (из первоначальной области) и не связанное с этим
удалением добавление (в новой области). CVS не в курсе синтаксиса
Если речь идет о CVS, то небольшие изменения в форматировании эквивалентны масштабному изменению логики в том же диапазоне строк.
Анахронизмы RCS
CVS изначально являлся надстройкой RCS, но в настоящее время вся функциональность R

CS является внутренней для CVS. Останки RCS можно наблюдать в имени переменной окружения $RCSBIN и описании параметра которые теперь вышли из употребления.

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

Создание репозитория
Выберите каталог, который будет содержать файлы репозитория (в приводимых ниже примерах используется каталог /usr/local/cvsrep).Используйте команду init для инициализации репозитория. При этом либо предварительно установите переменную окружения $CVSROOT:
user«.ocalhost$ export CVSROOT=/usr/local/cvsrep user@localhost$ cvs init
либо воспользуйтесь параметром -d, чтобы указать местоположение репозитория:
user@localhost$ cvs -d /usr/local/cvsrep init
Информацию по импортированию существующего кода смотрите в разделе «Справочник пользователя CVS», особенно в описании команд import и add.
Настройка сервера паролей
Для того чтобы предоставить доступ к репозиторию с других компьютеров, необходимо настроить pserver, выполнив следующие действия с привилегиями суперпользователя:
• Убедитесь, что в файле/егс/зеплсев есть запись, похожая на следующую: cvspserver 2401/tcp
• Если вы не используететхригаррегв, поместите в файл/'etc/inetd.conf'строку следующего вида:
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/usr/local/cvsroot pserver
•Либо, если выисполъзуете tcpwrappers, воспользуйтесь такой строкой:
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs
--allow-root=/usr/loca1/cvsroot pserver
• После этого необходимо перезапустить inetd (либо послать соответствующий сигнал, который заставит сервер перечитать файл inetd.conf).

Вопросы безопасности
Ниже перечислены вопросы, касающиеся безопасности, которые должны приниматься во внимание при работе с CVS:
• Содержимое файлов будет передаваться в открытом виде по сети при использовании сервера паролей pserver и rsh. При использовании pserver пароли также передаются в открытом виде.
• При использовании локального репозитория (т. е. когда CVS не работает по модели клиент-сервер) разработчики должны иметь право записи в репозиторий, и это означает, что они могут изменять его неблагоприятным
образом.
Перед сменой пользовательского идентификатора сервер CVS краткое время работает с привилегиями суперпользователя.
Владельцу необходимо предотвращать прочтение файла "/.сивраввдруги-ми пользователями, чтобы не допустить распространения пароля.
Пользователь, имеющий право вносить изменения в файлы модуля CVSROOT, может выполнять произвольные программы.
Некоторые из параметров команды admin являются очень опасными, поэтому рекомендуется ограничить ее использование. Это может быть сделано посредством создания группы пользователей Если эта группа существует, только пользователи, входящие в нее, имеют право выполнять команду admin (кроме варианта admin доступного всем пользователям).

Структура репозитория
Репозиторий CVS реализован в виде обычного каталога со специфическим содержимым, которое и рассматривается в текущем разделе.
Каталог CVSROOT
Каталог CVSROOT содержит административные файлы репозитория; другие каталоги репозитория содержат модули. Административные файлы помимо строк с существенной информацией могут содержать (игнорируемые)
пустые строки и строки комментариев. Строки комментариев начинаются с символа « # ».
Некоторые административные файлы содержат маски файлов для отбора
имен файлов и каталогов. Эти маски являются регулярными выражениями, аналогичными тем, что используются в редакторе GNU Emacs. В табл. 14.2 приведены наиболее часто используемые конструкции.
Таблица 14.2. Метасимволы в именах файлов
Конструкция
Описание

-
Привязка к началу строки


Привязка к концу строки


Любой символ

*
Предыдущая конструкция может повторяться ноль или более раз

CVS выполняет важные подстановки в содержимом административных файлов до интерпретации результата. Во-первых, типичный синтаксис интерпретатора, используемый для ссылки на домашний каталог, - «~7»,заменяется полным путем к домашнему каталогу пользователя, выполняющего CVS; a ~usег- полным путем к домашнему каталогу пользователя user.
Помимо этого CVS предоставляет механизм, схожий по возможностям с действием механизма подстановок для переменных командного интерпретатора. Конструкции, такие как ${ variable},заменяются значением указанной переменной. Имена переменных начинаются с букв и могут состоять из букв, цифр и символов подчеркивания. Фигурные скобки могут быть опущены, если символ, непосредственно следующий за ссылкой на переменную, не является допустимым в имени переменной. Несмотря на то что эта конструкция выглядит точно так же, как в интерпретаторе, доступны не все переменные окружения. В табл. 14.3 перечислены встроенные переменные.
Таблица 14.3. Переменные административных файлов

Переменная

Описание

CVSEDITOR
EDITOR
VISUAL
CVSROOT
USER

Редактор, используемый CVS для создания записей журнала изменений



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru