SCCSFILE(4)
НАЗВАНИЕ 
sccsfile - формат SCCS-файла
 ОПИСАНИЕ 
SCCS-файл  является  текстовым  файлом.  Он состоит  из
шести логических частей. Это контрольная сумма, таблица
версий (информация о каждой версии), имена  пользователей  (входные имена и/или числовые идентификаторы групп
пользователей, которые создавали версии), флаги  (определения  внутренних ключевых слов), комментарии (описательная информация о файле) и тело (реальные  текстовые
строки, перемешанные с управляющими строками).
 
В  SCCS-файле  могут встречаться строки, начинающиеся с
кода ASCII 001. Этот символ мы будем называть управляющим символом и обозначать @. Все  допустимые  вхождения
управляющего символа ниже оговариваются явно.
 
Запись  вида  DDDDD  представляет  цепочку из пяти цифр
(число от 00000 до 99999).
 
Ниже подробно описываются логические части SCCS-файла.
 Контрольная сумма 
Контрольная сумма - это первая строка SCCS-файла.  Формат этой строки следующий:
 
     @hDDDDD
Значением контрольной суммы является сумма всех  символов  файла,  кроме символов первой строки. Сочетание @h
есть магическое число SCCS-файла.
 Таблица версий 
Таблица  версий  состоит из переменного числа элементов
вида
 
     @s DDDDD/DDDDD/DDDDD
     @d тип с_ид гг/мм/дд чч:мм:сс вх_имя DDDDD DDDDD
     @i DDDDD ...
     @x DDDDD ...
     @g DDDDD ...
     @m номер запроса на модификацию
         ....
     @c комментарий
         ...
     @e
Первая строка (@s) содержит  число  вставленных/удаленных/измененных строк соответственно. Вторая строка (@d)
содержит  тип версии (D - существующая, R - удаленная),
идентификатор SCCS-версии, дату и время  создания  версии,  входное  имя пользователя, создавшего версию, порядковые номера версии и ее предшественника.
 
Строки @i, @x и @g содержат порядковые номера  включенных, исключенных и игнорируемых версий, соответственно.
Эти строки могут отсутствовать.
 
Строки @m (которые могут отсутствовать) содержат номера
запросов  на  модификацию,  связанные  с  этой версией,
строки @c содержат комментарии, связанные с этой версией.
 
Строка @e завершает элемент таблицы версий.
 Имена пользователей 
Список  входных  имен  и/или  числовых  идентификаторов
групп  пользователей,  которые могут добавлять версии в
файл, по одному имени в строке. Список в целом обрамляется строками @u и @U. Пустой список означает, что  новые версии может создать кто угодно. Каждая строка, начинающаяся  со знака !, запрещает создание новых версий
указанным пользователям или группам.
 Флаги 
Внутренние ключевые слова [см. admin(1)].  Каждый  флаг
имеет вид:
 
     @f флаг текст
при этом текст может отсутствовать.
Определены следующие флаги:
 
     @f t тип программы
     @f v имя программы
     @f i
     @f b
     @f m имя модуля
     @f f мин версия
     @f c макс версия
     @f d версия по умолчанию
     @f n
     @f j
     @f l закрытые версии
     @f q значение, определенное пользователем
     @f z зарезервировано для интерфейсов
Флаг  t определяет подстановку вместо идентифицирующего
ключевого слова %Y%. Флаг v управляет заданием  номеров
запросов  на  модификацию  в дополнение к комментариям,
если присутствует текст, он задает  программу  проверки
номеров  запросов.  Флаг  i управляет тем, считается ли
сообщение "No id keywords" предостережением  или  ошибкой. Если флага i нет, это сообщение является предостережением,  иначе  -  фатальной ошибкой (то есть файл не
будет извлечен или версия не будет создана). Если  присутствует  флаг b, в команде get можно использовать опцию -b для создания ответвления от дерева версий.  Флаг
m  определяет первый формат размещения значения идентифицирующего ключевого слова %M%. Флаг  f  задает  минимальную версию, которая может быть выбрана для редактирования, то есть версии ниже нее не могут быть добавлены.  Флаг  c  задает максимальную версию, которая может
быть выбрана для редактирования, то  есть  версии  выше
нее не могут быть добавлены. Флаг d задает номер версии
по умолчанию, если он не указан в команде get(1). Наличие  флага n приводит к тому, что delta(1) при создании
новой версии будет создавать  пустыми  все  пропущенные
версии  (например, создавая версию 5.1 после версии 2.7
имеем пропущенные версии 3 и 4). Эти пустые версии  могут  затем быть использованы для новых ветвей. Отсутствие флага n приводит к отсутствию пропущенных версий  в
SCCS файле,  использовать их в будущем для новых ветвей
нельзя. Флаг j означает, что допускается  использование
нескольких  команд get(1) одновременно для редактирования одной и той же версии  SCCS-файла.  Флаг  l  задает
список  версий,  закрытых  для редактирования (get(1) с
опцией -e). Флаг q задает подстановку вместо  идентифицирующего  ключевого  слова  %Q%. Флаг z используется в
специализированных интерфейсных программах.
 Комментарии 
Любой текст, окруженный строками @t и @T. Обычно секция
комментариев содержит описание назначения файла.
 Тело 
Тело  состоит из текстовых и управляющих строк. Текстовые строки, в противоположность управляющим, не начинаются с управляющего символа. Имеются три вида управляющих строк: вставка, удаление и конец,  имеющих  формат,
соответственно
 
     @I DDDDD
     @D DDDDD
     @E DDDDD
Цепочка цифр задает порядковый номер версии, соответствующей данной управляющей строке.
СМ. ТАКЖЕ 
admin(1), delta(1), get(1), prs(1).
 
 |