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).