Система управления программным проектом SCCS (Source Code Control System)

Пивоваренок Т. А., Суперкомпьютерный Центр


Введение

Эта система предназначена для контроля и документирования текстовых файлов путем создания некоторого аналога учетной ведомости.

Инструментальное средство SCCS представляет собой пакет программ, который может функционировать под управлением OS типа UNIX (в том числе, CONVEX-OS и OC System V), файловая система которых не поддерживает такой атрибут, как версия.

Программа admin :


SYNOPSIS



   admin [ -n ] [ -i[ name} ] ] [ -r rel ] [ t [name] ] [ -f flag

         [ flag-val] ] ... [ -d flag [flag-val] ]...

         [ -a login ]... [ -e login ]...[ -m [mrlist] ]

         [ -y [comment] ] [ -h ] [ -z ]  filename ...

Программа get :

    get  [ -rSID ] [ -c cutoff ] [ -i list ] [ -x list ]

         [ -a seq-no.] [ -k ] [ -e ] [ -l[p] ] [ -p ] [ -m ]

         [ -n ] [ -s ] [ -b ] [ -g] [ -Gnew.name ] [ -t ]

         filename ...

Программа delta :


    delta [ - rSID ] [ -s ] [ -n ] [ - glist ] [ -m [mrlist]

           [-y [comment]] [ -p] file ....

В процессе модификации исходного файла, находящегося под управлением инструментального средства SCCS , изменение его содержимого фиксируется инструментальным средством SCCS всякий раз, когда пользователь осуществляет запись файла на магнитный диск. Таким образом текущая версия исходного файла представляет собой совокупность его текущего содержимого и информации и последовательных модификациях этого содержимого, начиная с его первой версии.

Информация о последовательных модификациях исходного файла может быть представлена в виде набора последовательных изменений его содержимого, каждому элементу которого присваивается уникальный идентификационный номер - номер версии. Например, первая версия исходного файла может иметь идентификационный номер 1.1 , а две последующие - идентификационные номера 1.2 и 1.3 соответственно. Подобный подход дает пользователю возможность хранить в файле с одним и тем же именем несколько версий его содержимого. Вместе с тем при осуществлении ссылки на этот исходный файл пользователь может специфицировать различные идентификационные номера версий и таким образом обработать последовательно несколько различных вариантов исходного файла.

При отсутствии спецификации идентификационного номера версии инструментальное средство SCCS автоматически использует последнюю версию файла.

Любой исходный файл, независимо от того, содержит он исходный текст некоторой программы или текст журнальной статьи, может быть передан под управление инструментального средства SCCS, для чего необходимо воспользоваться командой ADMIN и ввести с терминала, например, следующее:

% admin -i file s.file

В соответствии с принятым в OC UNIX соглашением имя исходного файла, находящегося под управлением инструментального средства SCCS , имеет префикс s и суффикс, совпадающий с именем, которое имел исходный файл до передачи его под управление инструментального средства SCCS . Флаг -i указывает инструментальному средству SCCS на тот факт, что файл с именем file впервые передается под управление SCCS . Обычно после ввода такой командной строки на терминале появится сообщение

NO ID KEYWORDS (cm7)

Появление этого сообщения означает, что передаваемый под управление инструментального средства SCCS исходный файл не содержит ключевых слов SCCS и можно его проигнорировать. Если исходный файл содержит текст программы на языке C , то в его состав может входить целый ряд специальных символов, которые после обработки инструментальным средством SCCS будут заменены контекстом, содержащим такую информацию, как, например, текущая дата, имя модуля, номер версии и т.д. Главным требованием является, чтобы указанные специальные символы были использованы в описаниях статических переменных.

После этого оригинальный исходный файл должен быть удален из файловой системы OC UNIX

% rm file

Для восстановления его содержимого (с учетом всех модификаций) достаточно ввести

% get s. file

В результате в текущем каталоге появится исходный файл, не находящийся под управлением инструментального средства SCCS , доступ к которому разрешен только по чтению. Для вывода содержимого исходного файла на стандартный вывод нужно набрать командную строку

% get -p s. file

МОДИФИКАЦИЯ ФАЙЛА

Для того, чтобы осуществить модификацию (с помощью редактора текста) содержимого исходного файла, находящегося под управлением инструментального средства SCCS , необходимо ввести следующую командную строку:

% get -e s. file

В результате этого, в текущем каталоге появится файл, доступ к которому разрешен и по чтению, и по записи, представляющий собой копию оригинального исходного файла, а также будет создан рабочий файл инструментального средства SCCS ( p.file ). После того, как редактирование исходного файла завершено, необходимо сообщить об этом инструментальному средству SCCS набрав командную строку

% delta s. file

после этого на экране появится предложение ввести комментарий:

comments ?

По желанию можно ввести текст комментария. После этого инструментальное средство SCCS создает новую версию исходного файла. Команда delta автоматически увеличивает номер версии на единицу. Чтобы вывести на терминал всю последовательность осуществленных преобразований содержимого исходного файла т.е. ``историю развития" файла нужно набрать в командной строке

% prs s. file

Ниже приведем несколько примеров работы с инструментальным средством SCCS .

Пример 1.

Если нужно вызвать для редактирования уже существующий файл s.file версию 1.5 , нужно набрать:

% get -r1.5 -e s.file

далее вызвать редактор vi (для редактирования версии 1.5)

% vi file

после окончания редактирования передать файл программе delta

% delta s.file

Пример 2.

Если нужно передать файл под управление инструментальному средству SCCS впервые и начать нумерацию версий не с 1.1 (по умолчанию), а с версии 5.1

% admin -r5.1 -ifile s.file

Пример 3.

Если нужно вывести содержимое файла s.file версию 1.4 (ранее созданную) на экран

% get -r1.4 -p s.file

Например, если нужно отредактировать уже существующую версию 1.1 , то после редактирования при записи программа delta присвоит номер версии 1.1.1.1.

Рассмотренные здесь примеры демонстрируют лишь небольшую часть возможностей инструментального средства SCCS , тем не менее даже по ним можно уже получить представление об использовании этой системы.

Напомним еще раз о существующих возможностях:

Более полную информацию можно получить в man admin , man get , man delta .