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 завершает элемент таблицы версий.
Имена пользователей