Unix Man (Справочное руководство)

         

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. Пустой список означает, что новые версии может создать кто угодно. Каждая строка, начинающаяся со знака !, запрещает создание новых версий указанным пользователям или группам.

Флаги

Внутренние ключевые слова [см. ]. Каждый флаг имеет вид:

@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 задает номер версии по умолчанию, если он не указан в команде . Наличие флага n приводит к тому, что при создании новой версии будет создавать пустыми все пропущенные версии (например, создавая версию 5.1 после версии 2.7 имеем пропущенные версии 3 и 4). Эти пустые версии могут затем быть использованы для новых ветвей. Отсутствие флага n приводит к отсутствию пропущенных версий в SCCS файле, использовать их в будущем для новых ветвей нельзя. Флаг j означает, что допускается использование нескольких команд одновременно для редактирования одной и той же версии SCCS-файла. Флаг l задает список версий, закрытых для редактирования (get(1) с опцией -e). Флаг q задает подстановку вместо идентифицирующего ключевого слова %Q%. Флаг z используется в специализированных интерфейсных программах.

Комментарии

Любой текст, окруженный строками @t и @T. Обычно секция комментариев содержит описание назначения файла.

Тело

Тело состоит из текстовых и управляющих строк. Текстовые строки, в противоположность управляющим, не начинаются с управляющего символа. Имеются три вида управляющих строк: вставка, удаление и конец, имеющих формат, соответственно

@I DDDDD @D DDDDD @E DDDDD

Цепочка цифр задает порядковый номер версии, соответствующей данной управляющей строке.

СМ. ТАКЖЕ



, , , .


Содержание раздела