ADMIN(1)
НАЗВАНИЕ 
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.
Допустимые флаги и их значения:
- 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-файла [см.  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).
 
 |