SCCSFILE(4) 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).
|