Source Code Control System
| Source Code Control System (SCCS) | |
|---|---|
| Тип | Version control |
| Автор | Марк Рочкинд |
| Разработчик | Лаборатории Белла |
| Написана на |
Первая версия: Снобол4 Переписано: Си |
| Операционные системы | OS/360, Unix, Unix-подобные |
| Первый выпуск | 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
[править | править код]Команда 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
[править | править код]Примечания
[править | править код]- ↑ Sablime® Configuration Management System. Дата обращения: 22 сентября 2010. Архивировано из оригинала 16 июня 2007 года.
- ↑ 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 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 (англ.)