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

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

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

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

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

Базовые команды SCCS SCCS предоставляет набор команд в виде макросов, которые выполняют или инициируют функции управления исходным кодом с простым синтаксисом, например create, get, edit, prt. An Introduction to the Source Code Control System Eric Allman, Project Ingres, University of California at Berkeley Source Code Control System Programming Utilities Guide Он также предоставляет доступ к истории изменений управляемых файлов. Эти команды реализованы в виде аргументов глаголов для программы-драйвера sccs.

Create Команда create использует текст исходного файла для создания нового файла истории. Например: $ sccs create program.c program.c: 1.1 87 lines В результате выполнения отображаются имя, версия и количество строк кода.

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

Edit $ sccs edit program.c 1.1 new delta 1.2 87 lines Редактировать конкретный файл.

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

Delget $ sccs delget program.c comments? main function enhanced 1.2 10 inserted 0 deleted 87 unchanged 1.2 97 lines Проверить наличие новой версии и получить новую версию из sccs.

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

Get $ sccs get program.c 1.1 87 lines В результате выполнения программы отображаются версия и строки, которые вы хотите получить из конкретного файла.

Prt $ sccs prt program.c Эта команда создает отчет об изменениях в исходном коде.

Системы UNIX, включавшие SCCS Programmer's Workbench UNIX UNIX System III UNIX System V

Примечания

См. также SCCS Sourceforge.net GNU CSSC («Compatibly Stupid Source Control»), совместимая с SCCS программа, призванная помочь в переходе с SCCS на более современные системы управления версиями, такие как CVS или Subversion; GNU CSSC не рекомендуется для использования в новых проектах.

Ссылки M. J. Rochkind: The Source Code Control System. In IEEE Transactions on Software Engineering SE-1:4 (Dec. 1975), pages 364—370. Greg Hudson: Notes on keeping version histories of files. Неопубликованные персональные заметки. Marc J. Rochkind. The Story of How SCCS Was Invented, 2016

SCCS Project, Sourceforge.net

Категория:Проприетарные системы контроля версий