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





Псевдоним модулей определяется строками вида:
module^name -a alias_module ...
Имя псевдонима модуля может использоваться в командах CVS таким же образом, как используются обычные имена модулей, следующие за параметром -а.
Regular (Обычный)
Обычные модули определяются строками вида:
tnodule_name [options] directory file . . .
Извлечение модуля module_пате приводит к копированию указанных файлов из извлекаемого каталога в каталог с именем modulejname. Промежуточные каталоги (если таковые присутствуют) не отражаются в структуре рабочего каталога,
Ampersand (Иерархический)
Иерархические модули определяются строками вида:
module__name [options] &.other_tnodule . . .
Результатом извлечения такого модуля является каталогтосЫе_гште, содержащий копии модулей other_module.

В табл. 14.7 перечислены параметры, которые могут использоваться при определении модулей.
Псевдонимы модулей предоставляют альтернативные имена для других модулей либо сокращения для наборов модулей или подкаталогов модулей.
Определения псевдонимов модулей действуют подобно макроподстановкам в том смысле, что результатом их использования становится выполнение команд для всего списка упомянутых модулей и каталогов. Псевдонимы модулей не группируют определяемые модули под псевдонимом (для этого используются иерархические модули). Например, определение:
h -a hello
делает имя h синонимом модуля hello. А определение:
project -a library client server
позволяет извлечь все три модуля проекта в виде одной единицы. Если элементу в определении псевдонима модуля предшествует символ «! », указанный каталог исключается из модуля.
Обычные модули позволяют создавать модули из подмножеств других модулей. Например, определение:
header library
создает модуль, который содержит только заголовочный файл из модуля library.
Иерархические модули являются истинно логическими модулями. Здесь не существует каталогов верхнего уровня в репозитории, но они могут быть извлечены в рабочие каталоги, и каталоги появятся под собственными именами. Модули, перечисленные в определении, расположены иерархически ниже этого каталога. Например:
project Slibrary &client &server
Это почти то же, что и определение псевдонима модуля, которое приводилось чуть выше, за исключением того, что модули извлекаются внутрь подкаталога с именемрго;есг.
В файле modules длинные строки определений могут занимать несколько строк, при этом все строки, кроме последней, должны завершаться символом обратного слэша (\).
Файл notify
Файл notify используется совместно с командой watch. Когда должно быть послано уведомление, происходит чтение данного файла с целью определения способа уведомления.
Каждая из строк файла notify содержит маску файлов и командную строку. Механизм уведомлений CVS использует заданную командную строку для отправки уведомлений, касающихся файлов, соответствующих указанному
шаблону имен.
Существует единственная специальная переменная, %s, которая может входить в определение выполняемой команды. При выполнении команды переменная заменяется именем пользователя, которому посылается уведомление. Если существует административный файл users, в нем ищутся имена пользователей, и окончательные значения используются для подстановки в %s. Это позволяет отправлять почтовые уведомления пользователям не только на локальной машине. Содержание уведомления передается уведомляющей программе через стандартный ввод.
Вот типичный способ использования возможностей файла notify:
ALL mail %s -s "CVS notification"
По существу, эта запись присутствует в стандартном файле notify, который создается при инициализации репозитория посредством cvs init (хотя изначально строка закомментирована).
Файл passwd
Если вы используете доступ к репозиторию через путь сервера паролей
ve г (см. раздел «Путь к репозиторию»), CVS может обеспечить собственную
идентификацию пользователей, отделенную от системной базы данных
пользователей. Эта информация хранится в административном файле CVSROOT/passwd.
Данный механизм предоставляет возможность анонимного доступа к CVS через Интернет. Создав запись для публичного пользователя (как правило, anoncvs или anonymous), можно использовать pserve г для обеспечения доступа многих людей, использующих эту публичную учетную запись. Если вы не намереваетесь создавать системного пользователя с тем же именем, что у публичного, или если такой пользователь существует, но с другой целью, можно использовать псевдоним пользователя для отображения имени в другое:
anonymous:TY7QWpLw8bvus:cvsnoname
Не забудьте создать в системе пользователя cvsnoname. Можно использовать /Ып/falseB качестве интерпретатора по умолчанию для этого пользователя и корневой каталог репозитория в качестве его домашнего каталога.
Для того чтобы ограничить публичного пользователя доступом только для чтения, добавьте его в административный файл CVSROOT'/readers.
Кроме того, собственная база данных пользователей CVS полезна и в тех случаях, когда нет необходимости в предоставлении анонимного доступа к CVS. Имеется возможность ограничить доступ к CVS-подмножеству пользователей системы, обеспечить удаленный доступ тем пользователям, которые не могут работать с системой напрямую, а также предотвращать посылку в открытом виде системных паролей (см. раздел «Вопросы безопасности»).
Не существует команды cvs passwd для работы с CVS-специфичными паролями (определенными в файле репозитория CVSROOT/passwd). Работа с пользователями и паролями CVS является задачей, решаемой вручную.
Файл rcsinfo
CVS производит чтение данного файла при помещении файлов в репозиторий (commit) или импортировании (import), чтобы определить шаблон для редактора, в котором создаются записи для журнала изменений. Каждая запись файла состоит из маски файловых имен и имени файла, используемого в качестве шаблона для каталогов модуля, имена которых соответствуют маске.
В этом файле допустимо использование ключевых слов ALL и DEFAULT. Файл readers
Если файл readers существует, то перечисленные в нем пользователи имеют ограниченный доступ к репозиторию - только для чтения.
Файл taginfo
CVS производит чтение файла каждый раз, когда выполняются команды tag и rtag. Записи в файле состоят из масок имен файлов и спецификаций программ. В taginfo разрешено использование ключевого слова ALL.
Файл taginfo обрабатывается в контексте тега, выполняемой операции, имени каталога модуля (относительно корня репозитория), а также имен и версий файлов для всех файлов, затрагиваемых операцией. Существуют следующие операции: add (для tag), del (для tag -d) и mov (для tag -F).
Если программа, вызванная taginfo, завершается с ненулевым кодом возврата, происходит прерывание выполнения команды tag или rtag, вызвавшей выполнение программы.
Файл users
Если данный файл существует, происходит чтение информации из него в
процессе обработки содержимого административного файла notify. Записи в файле users состоят из двух полей, разделяемых двоеточием и расположенных на одной строке. Первое поле содержит имя пользователя, а второе поле является значением (как правило, почтовым адресом пользователя на другой машине). Например:
john:john@somecompany.com jane:jane@anothercompany. com
Файл verifymsg
CVS производит чтение данного файла, чтобы определить, необходимо ли
производить проверку записей журнала изменений. Если программа завершается с ненулевым кодом возврата, операция помещения в репозиторий прерывается. Файл verifymsg обрабатывается в контексте полного пути к файлу, содержащему записи журнала и подлежащему обработке.
Из ключевых слов ALL и DEFAULT в данном файле может использоваться только DEFAULT. Если найдены соответствия нескольким шаблонам, используется первое из них.
файл writers
Если файл существует, перечисленные в нем пользователи имеют права чтения и записи при работе с репозиторием (за исключением случаев, когда отдельные пользователи упомянуты в файле readers; в этом случае они будут иметь доступ только для чтения).
Тонкая работа с репозиторием
Поскольку репозиторий является обычным каталогом, хотя и с особым содержимым, в этот каталог можно перейти с помощью команды cd, изучить его содержимое и/или внести изменения в файлы или каталоги. Для каждого добавленного в репозиторий файла существует файл с таким же именем и
суффиксом <t,v» в соответствующем каталоге репозитория. Это файлы RCS (имеется в виду формат, а не программа), в которых хранятся многочисленные версии файлов.

 



   
 

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