ADMIN(1) ADMIN(1)
НАЗВАНИЕ
admin - создание и административные функции для
SCCS-файлов
СИНТАКСИС
admin [-n] [-i[файл]] [-rверсия] [-t[файл]] [-fфлаг[значение]]
[-dфлаг[значение]] [-aпользователь] [-eпользователь]
[-m[список_номеров_запросов_на_модификацию]] [-y[комментарий]]
[-h] [-z] файл ...
ОПИСАНИЕ
Команда admin используется для создания новых SCCS-фай-
лов и изменения параметров существующих. Аргументы ad-
min, которые могут задаваться в любом порядке, состоят
из опций и имен файлов (отметим, что простые имена
SCCS-файлов должны начинаться с s.). Если поименованный
файл не существует, он создается, и его характеристики
устанавливаются в соответствии с указанными аргумента-
ми. Характеристикам, для которых не заданы соответству-
ющие аргументы, присваиваются значения по умолчанию.
Если поименованный файл существует, его характеристики,
соответствующие указанным аргументам, изменяются, а ос-
тальные остаются без изменений.
Если задано имя каталога, admin обрабатывает все файлы
в этом каталоге, начинающиеся с s.; файлы, к которым
нет доступа на чтение, игнорируются без дополнительных
сообщений. Если задано имя -, происходит чтение со
стандартного ввода, каждая строка при этом трактуется
как имя SCCS-файла, подлежащего обработке. Файлы, не
начинающиеся с s., и файлы, к которым нет доступа на
чтение, также игнорируются без дополнительных сообще-
ний.
Каждая опция об ясняется ниже для одного обрабатываемо-
го файла; при нескольких файлах она применяется к каж-
дому из них.
-n Создать новый SCCS-файл
-i[файл]
Текст для нового SCCS-файла взять из указанного
файла. Этот текст составляет начальную версию (по
поводу нумерации версий см. опцию -r). Если ис-
пользуется опция -i, а файл не задан, текст берет-
ся со стандартного ввода, до достижения конца фай-
ла. Если опция -i отсутствует, SCCS-файл создается
пустым. Командой admin с опцией -i можно создать
только один файл, без опции -i можно создать нес-
колько (пустых) файлов. Опция -i подразумевает оп-
цию -n.
-rверсия
Номер начальной версии файла. Эта опция использу-
ется совместно с опцией -i. Если -r отсутствует,
подразумевается версия 1. Уровень начальной версии
всегда 1, то есть по умолчанию начальная версия
получает имя 1.1.
-t[файл]
Описание SCCS-файла взять из файла. Если опция -t
используется при создании SCCS-файла (опции -n
и/или -i) файл с описанием обязателен. Для сущест-
вующего файла: (1) опция -t без имени файла приво-
дит к удалению описания SCCS-файла, (2) опция -t с
именем файла приводит к замене существующего опи-
сания SCCS-файла на новое, содержащееся в файле.
-fфлаг[значение]
Эта опция определяет флаг, и, возможно, значение
флага, который помещается в SCCS-файл. В одной ко-
манде admin могут указываться несколько опций -f.
Допустимые флаги и их значения:
b Допустимость использовать опцию -b команды
get(1) для создания ответвлений.
cверсия
Максимальная версия (до 9999), которая может
быть выбрана командой get(1) для редактирова-
ния. Значение по умолчанию (если флаг c не ука-
зан) равно 9999.
fверсия
Минимальная версия (до 9999), которая может
быть выбрана командой get(1) для редактирова-
ния. Значение по умолчанию (если флаг f не ука-
зан) равно 1.
dс_идентификатор
Номер версии по умолчанию, который будет ис-
пользоваться командой get(1).
i Приводит к тому, что сообщение "No id keywords
(ge6)", выдаваемое программами get(1) или
delta(1), интерпретируется как фатальная ошиб-
ка. В отсутствие этого флага указанное сообще-
ние является предупреждением; оно выдается, ес-
ли в тексте, извлеченном из SCCS-файла или за-
писанном в него, не оказалось ключевых слов
SCCS [см. get(1)].
j Допускается использование нескольких команд
get(1) одновременно для редактирования одной и
той же версии SCCS-файла. Это позволяет вносить
параллельно несколько изменений в одну и ту же
версию SCCS-файла.
lсписок
Список версий, в которые запрещено вносить из-
менения (то есть команда get -e для этих "зак-
рытых" версий завершается неудачей). Синтаксис
списка следующий:
список ::= элемент | список,элемент
элемент ::= номер_версии | a
Символ a означает все версии в SCCS-файле.
n Приводит к тому, что delta(1) при создании но-
вой версии будет создавать пустыми все пропу-
щенные версии (например, создавая версию 5.1
после версии 2.7, имеем пропущенные версии 3 и
4). Эти пустые версии могут затем быть исполь-
зованы для новых ветвей. Отсутствие флага n
приводит к отсутствию пропущенных версий в
SCCS-файле, использовать их в будущем для новых
ветвей нельзя.
qтекст
Производится подстановка текста вместо всех
вхождений %Q% в информацию, извлеченную из
SCCS-файла с помощью get(1).
mимя
Производится подстановка имени вместо всех
вхождений %M% в тексте, который извлечен из
SCCS-файла с помощью get(1). Если флаг m не
указан, вместо %M% подставляется имя SCCS-фай-
ла, из которого удалены начальные s..
tтип
Производится подстановка типа вместо всех вхож-
дений %Y% в тексте, который извлекается из
SCCS-файла с помощью get(1).
v[программа]
Приводит к тому, что delta(1) запрашивает в ка-
честве причины создания версии номер запроса на
модификацию. Необязательный параметр указывает
имя программы проверки корректности этого номе-
ра (см. delta(1)). Если этот флаг указывается
при создании SCCS-файла, обязательно должна
быть указана опция -m, хотя бы с пустым значе-
нием.
-dфлаг[значение]
Приводит к удалению указанного флага из SCCS-фай-
ла. Опция -d может быть указана только для сущест-
вующих SCCS-файлов. В одной команде admin можно
указать несколько опций -d. Допустимые флаги см. в
описании опции -f.
lсписок
Список "закрытых" версий, которые должны быть
"открыты". Синтаксис списка см. в описании фла-
га l опции -f.
-aпользователь
Имя пользователя или числовой идентификатор группы
добавляется к списку пользователей, которые имеют
право редактировать версии в SCCS-файле. Указание
идентификатора группы эквивалентно указанию имен
всех пользователей, принадлежащих группе. В одной
команде admin можно указать несколько опций -a.
Количество имен пользователей и идентификаторов
групп в списке имеющих доступ не ограничено. Если
этот список пуст, никто не может редактировать
версии.
-eпользователь
Имя пользователя или числовой идентификатор группы
удаляется из списка пользователей, которые имеют
право редактировать версии в SCCS-файле. Указание
идентификатора группы эквивалентно указанию имен
всех пользователей, принадлежащих группе. В одной
команде admin можно указать несколько опций -e.
-m[список_номеров_запросов_на_модификацию]
Список_номеров_запросов_на_модификацию включается
в SCCS-файл в качестве причины создания начальной
версии тем же способом, что и delta(1). Флаг v
должен быть установлен. Номера запроса проверяются
на корректность, если флаг v содержит значение
(имя программы проверки). Если флаг v не указан
или программа проверки выявила некорректность, вы-
дается диагностика.
-y[комментарий]
Текст комментария вносится в SCCS-файл как коммен-
тарий к начальной версии, тем же способом, что и
delta(1). Опущенная опция -y приводит к занесению
в файл стандартного комментария:
date and time created гг/мм/дд чч:мм:сс
by пользователь
Опция -y может быть указана только совместно с оп-
циями -i и/или -n (то есть при создании нового
SCCS-файла). Если комментарий больше одного слова,
он должен быть заключен в двойные кавычки.
-h Admin проверяет структуру SCCS-файла [см. sccsfi-
le(5)] и сравнивает вновь вычисленную контрольную
сумму (сумму кодов всех символов в SCCS-файле,
кроме символов первой строки) с контрольной сум-
мой, хранящейся в первой строке SCCS-файла. Выда-
ется соответствующая диагностика. Эта опция запре-
щает запись в файл, аннулирует все остальные опции
и имеет смысл только для существующих файлов.
-z Контрольная сумма SCCS-файла перевычисляется и за-
писывается в первую строку (см. выше опцию -h).
Использование этой опции для поврежденного файла
может привести к тому, что повреждение пройдет не-
замеченным.
ФАЙЛЫ
Простые имена SCCS-файлов должны иметь вид s.имя_файла.
Новые SCCS-файлы получают права доступа 444 [см.
chmod(1)]. Безусловно, для создания файла требуются
права записи в каталог. Всю запись admin производит во
временный файл с именем x.имя_файла [см. get(1)], соз-
даваемый с правами доступа 444 (если команда admin соз-
дает новый файл) или с теми же правами доступа, что и
существующий SCCS-файл. После успешного завершения вы-
полнения admin, старый SCCS-файл удаляется, а временный
переименовывается. Это гарантирует, что изменения вно-
сятся в SCCS-файл только при отсутствии ошибок.
Рекомендуется, чтобы все каталоги, содержащие SCCS-фай-
лы, имели права доступа 755, а сами SCCS-файлы - права
доступа 444. Указанные права для каталога позволяют мо-
дифицировать SCCS-файлы, находящиеся в каталоге, только
владельцу каталога. Права для SCCS-файлов предотвращают
модификацию этих файлов иначе, чем через команды SCCS.
Если все-таки по какой-либо причине потребуется модифи-
цировать SCCS-файл, права доступа могут быть изменены
на 644, что позволит владельцу использовать для модифи-
кации редактор ed(1). Будьте осторожны и внимательны!
Модифицированный файл должен быть обязательно обработан
командой admin -h для проверки корректности, а затем
admin -z для генерации правильной контрольной суммы.
После этого рекомендуется еще раз выполнить команду ad-
min -h для контроля нормального состояния SCCS-файла.
Admin также создает файл-замок z.имя_файла, который ис-
пользуется для предотвращения одновременного доступа к
SCCS-файлу несколькими пользователями. Дополнительную
информацию см. в get(1).
СМ. ТАКЖЕ
delta(1), ed(1), get(1), help(1), prs(1), what(1).
sccsfile(4) в Справочнике программиста.
ДИАГНОСТИКА
Для раз яснений пользуйтесь командой help(1).
|