Перейти к содержанию

Source Code Control System

Материал из Википедии — свободной энциклопедии
Source Code Control System (SCCS)
Тип Version control
Автор Марк Рочкинд
Разработчик Лаборатории Белла
Написана на Первая версия: Снобол4
Переписано: Си
Операционные системы OS/360, Unix, Unix-подобные
Дата выпуска 1973; 53 года назад (1973)
Аппаратные платформы IBM System/370, PDP-11, IA-32
Лицензия проприетарные лицензии, Common Development and Distribution License
Сайт The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition

Source Code Control System (SCCS) — первая система управления версиями, разработанная в Bell Labs в 1972 году Марком Рочкиндом (англ. Marc J. Rochkind) для компьютеров IBM System/370, работавшая под управлением OS/MVT. В дальнейшем была создана версия для PDP-11 под управлением операционной системы UNIX. В дальнейшем SCCS была включена в состав нескольких вариантов UNIX. Набор команд SCCS в настоящее время является частью Single UNIX Specification.

SCCS являлась самой распространённой системой управления версиями до появления RCS. Несмотря на то, что в настоящее время SCCS следует признать устаревшей системой, формат файлов, разработанный для SCCS, до сих пор используется некоторыми системами управления версиями, такими как BitKeeper и TeamWare. Система Sablime также позволяет использовать файлы SCCS.[1] Для хранения изменений SCCS использует т. н. технику чередующихся изменений (англ. interleaved deltas). Данная техника используется многими современными системами управления версиями в качестве основы для изощрённых методов слияния.

Система SCCS также известна так называемой sccs_id-строкой, например:

static char sccsid[] = "@(#)ls.c        8.1 (Berkeley) 6/11/93";

Строка содержит имя файла, дату, возможно, что-то еще. После компиляции эту строку по шаблону «@(#)» легко отыскать в бинарных и объектных файлах и определить, какие исходные файлы использовались при компиляции.

Базовые команды SCCS

[править | править код]

SCCS предоставляет набор команд в виде макросов, которые выполняют или инициируют функции управления исходным кодом с простым синтаксисом, например create, get, edit, prt.[2][3] Он также предоставляет доступ к истории изменений управляемых файлов. Эти команды реализованы в виде аргументов глаголов для программы-драйвера sccs.

Команда create использует текст исходного файла для создания нового файла истории. Например:

$ sccs create program.c
program.c:
1.1
87 lines

В результате выполнения отображаются имя, версия и количество строк кода.

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

$ sccs edit program.c
1.1
new delta 1.2
87 lines

Редактировать конкретный файл.

Эта команда представляет собой макрос, который разворачивается в get -e.

$ sccs delget program.c
comments? main function enhanced
1.2
10 inserted
0 deleted
87 unchanged
1.2
97 lines

Проверить наличие новой версии и получить новую версию из sccs.

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

$ sccs get program.c
1.1
87 lines

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

$ sccs prt program.c

Эта команда создает отчет об изменениях в исходном коде.

Системы UNIX, включавшие SCCS

[править | править код]

Примечания

[править | править код]
  1. ↑ Sablime® Configuration Management System. Дата обращения: 22 сентября 2010. Архивировано из оригинала 16 июня 2007 года.
  2. ↑ An Introduction to the Source Code Control System Архивная копия от 6 ноября 2014 на Wayback Machine Eric Allman, Project Ingres, University of California at Berkeley
  3. ↑ Source Code Control System Архивная копия от 21 ноября 2025 на Wayback Machine Programming Utilities Guide
  • SCCS Sourceforge.net
  • GNU CSSC («Compatibly Stupid Source Control»), совместимая с SCCS программа, призванная помочь в переходе с SCCS на более современные системы управления версиями, такие как CVS или Subversion; GNU CSSC не рекомендуется для использования в новых проектах.