НАЗВАНИЕ
admin - создание и административные функции для
SCCS-файлов
СИНТАКСИС
admin [-n] [-i[файл]] [-rверсия] [-t[файл]] [-fфлаг[значение]] [-dфлаг[значение]] [-aпользователь] [-eпользователь] [-m[список_номеров_запросов_на_модификацию]] [-y[комментарий]] [-h] [-z] файл ...
ОПИСАНИЕ
Команда admin используется для создания новых SCCS-файлов и изменения параметров существующих. Аргументы admin, которые могут задаваться в любом порядке, состоят
из опций и имен файлов (отметим, что простые имена
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.
Допустимые флаги и их значения:
|
-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-файла [см. sccsfile(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 для генерации правильной контрольной суммы. После этого рекомендуется еще раз выполнить команду admin -h для контроля нормального состояния SCCS-файла.
Admin также создает файл-замок z.имя_файла, который используется для предотвращения одновременного доступа к SCCS-файлу несколькими пользователями. Дополнительную информацию см. в get(1).
СМ. ТАКЖЕ
delta(1), ed(1), get(1), help(1), prs(1), what(1).
sccsfile(4) в Справочнике программиста.
ДИАГНОСТИКА
Для раз'яснений пользуйтесь командой help(1).