Система контроля исходного кода

редактировать
Система управления исходным кодом (SCCS)
Оригинальный автор (ы) Марк Дж. Рочкинд
Разработчик (и) Bell Labs
Первый выпуск1973 г.; 47 лет назад (1973)
Репозиторий Официальный сайт
Написано наПервая версия: SNOBOL4. Переписано: C
Операционная система ОС / 360, Unix, Unix-like
Platform IBM System / 370, PDP-11, IA- 32
Тип Контроль версий
Лицензия проприетарные лицензии, Общая лицензия на разработку и распространение
Веб-сайтБазовые спецификации Open Group, выпуск 7, IEEE Std 1003.1-2008, 2016 Версия

Система управления исходным кодом (SCCS ) - это система управления версиями, предназначенная для отслеживания изменений в исходном коде и других текстовых файлах во время разработка программного обеспечения. Это позволяет пользователю получить любую из предыдущих версий исходного исходного кода и сохраненные изменения. Первоначально он был разработан в Bell Labs в конце 1972 года Марком Рочкиндом для IBM System / 370 компьютера под управлением OS / 360.

A Характерной особенностью SCCS является строка sccsid, которая встроена в исходный код и автоматически обновляется SCCS для каждой ревизии. Этот пример иллюстрирует его использование в языке программирования C :

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

Эта строка содержит имя файла, дату, а также может содержать комментарий. После компиляции строку можно найти в двоичных и объектных файлах, выполнив поиск по шаблону «@ (#)», и ее можно использовать для определения, какие файлы исходного кода использовались во время компиляции. Команда "what" [1] доступна для автоматизации этого поиска строк версии.

Содержание
  • 1 История
  • 2 Фон
  • 3 Состав
  • 4 SCCS-файлы
    • 4.1 Дельта-таблица
    • 4.2 Флаги управления и отслеживания в файлах SCCS
    • 4.3 Body
  • 5 Основные команды SCCS
    • 5.1 Создать
    • 5.2 Редактировать
    • 5.3 Delget
    • 5.4 Получить
    • 5.5 Prt
  • 6 Альтернативы
    • 6.1 Версии UNIX SCCS
    • 6.2 Форк Йорга Шиллинга
    • 6.3 Heirloom Project
    • 6.4 Утилита преобразования GNU
    • 6.5 Другие системы контроля версий
  • 7 Ссылки
  • 8 Дополнительная литература
История

В 1972 году Марк Рохкинд разработал SCCS в SNOBOL4 в Bell Labs для компьютера IBM System / 370 под управлением OS/360 MVT. Он переписал SCCS на языке программирования C для использования в UNIX, затем работал на PDP-11 в 1973 году.

Первой публично выпущенной версией была версия SCCS. 4 от 18 февраля 1977 года. Он был доступен с версией Programmer's Workbench (PWB) для операционной системы. Выпуск 4 SCCS был первой версией, в которой использовался текстовый формат файла истории, более ранние версии действительно использовали двоичные форматы файлов истории. Релиз 4 больше не написан и не поддерживается Марком Рохкиндом. Впоследствии SCCS был включен в коммерческие дистрибутивы ATT для System III и System V. Он не был лицензирован с 32V, предком BSD. Набор команд SCCS теперь является частью единой спецификации UNIX.

SCCS была доминирующей системой управления версиями для Unix до более поздних систем управления версиями, особенно RCS и более поздних. CVS, получил более широкое распространение. Сегодня эти ранние системы управления версиями обычно считаются устаревшими, особенно в сообществе с открытым исходным кодом, которое в основном охватывает системы распределенного управления версиями. Однако формат файла SCCS по-прежнему используется внутри некоторых новых программ контроля версий, включая BitKeeper и TeamWare. Последний является интерфейсом для SCCS. Sablime был разработан на основе модифицированной версии SCCS, но использует формат файла истории, несовместимый с SCCS. Формат файла SCCS использует метод хранения, называемый чередующимися дельтами (или переплетение). Этот метод хранения сейчас рассматривается многими разработчиками систем контроля версий как основополагающий для передовых методов слияния и управления версиями, таких как «Precise Codeville » («pcdv») слить.

Помимо исправления проблем 2000 года в 1999 году, не велось активной разработки различных версий SCCS для различных производителей UNIX. В 2006 году Sun Microsystems (сегодня часть Oracle ) выпустила свою Solaris версию SCCS как с открытым исходным кодом под Лицензия CDDL как часть их усилий по созданию Solaris с открытым исходным кодом.

Предпосылки

Система управления исходным кодом (SCCS) - это система для управления изменениями файлов и истории. Программное обеспечение обычно обновляется до новой версии путем исправления ошибок, оптимизации алгоритмов и добавления дополнительных функций. Изменение программного обеспечения вызывает проблемы, для решения которых требуется контроль версий.

  • Исходный код занимает слишком много места, потому что он повторяется в каждой версии.
  • Трудно получить информацию о том, когда и где произошли изменения.
  • Найти точную версию, с которой клиент имеет проблемы, сложно.

SCCS был создан для решения этих проблем. SCCS от ATT имел пять основных версий для ОС IBM и пять основных версий для UNIX. Две конкретные реализации с использованием SCCS: PDP 11 под Unix и IBM 370 под ОС.

Состав

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

Файлы SCCS

Файл SCCS состоит из трех частей:

  • Дельта таблица
  • Флаги доступа и отслеживания
  • Тело текста

Дельта-таблица

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

Флаги управления и отслеживания в файлах SCCS

Каждая операция каждого файла SCCS отслеживается с помощью флагов. Их функции следующие:

  • Установка разрешений на редактирование каждого файла SCCS.
  • Управление каждой версией каждого файла SCCS.
  • Разрешение каждого файла SCCS.
  • Взаимно-ссылающиеся изменения каждого файла SCCS.

Body

SCCS использует три типа управляющих записей для отслеживания вставок и удалений, применяемых в различных дельтах. Это контрольная запись вставки, контрольная запись удаления и конечная контрольная запись. Каждый раз, когда пользователь изменяет какую-либо часть текста, вокруг изменения вставляется контрольная запись. Управляющие записи хранятся в теле вместе с исходными текстовыми записями.

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

SCCS предоставляет набор команд в форме вызовов макросов, которые выполняют или инициируют функции управления исходным кодом с простым синтаксисом, таким как создание, получение, редактирование, прт.. Он также обеспечивает доступ к истории изменений файлов, находящихся под управлением. Эти команды реализованы как команды аргументов для программы драйвера sccs.

Создать

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

$ sccs create program.c program.c: 1.1 87 строк

На выходе выводятся имя, версия и строки.

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

Редактировать

$ sccs edit program.c 1.1 new delta 1.2 87 строк

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

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

Delget

$ sccs delget program.c комментарии? основная функция улучшена 1.2 10 вставлено 0 удалено 87 без изменений 1.2 97 строк

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

Команда представляет собой макрос, который расширяется до дельты для проверки файла новой версии, за которым следует get для получения файла.

Получить

$ sccs get program.c 1.1 87 строк

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

Prt

$ sccs prt program.c

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

Альтернативы

Версии UNIX SCCS

Большинство версий UNIX включают версию SCCS, которая, однако, часто больше не разрабатывается.

Форк Йорга Шиллинга

Йорг Шиллинг (который запросил выпуск SCCS в первые дни проекта OpenSolaris ) поддерживает форк SCCS, на основе исходного кода OpenSolaris. Он получил значительные улучшения функций, но остается совместимым с исходными версиями SCCS, если не используется режим «новый проект».

Heirloom Project

Heirloom Project включает версию SCCS получен из исходного кода OpenSolaris и поддерживается с декабря 2006 по апрель 2007.

Утилита преобразования GNU

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

Другие системы управления версиями

С 1990-х годов было разработано и стало популярным множество новых систем управления версиями, предназначенных для управления проектами с большим количеством файлов и которые предлагают расширенные функции, такие как многопользовательская работа, контроль доступа, автоматическое построение, сетевая поддержка, управление выпусками и распределенный контроль версий. Bitkeeper и TeamWare используют формат файла SCCS внутри и могут считаться преемниками SCCS.

В системах BSD SCCSID заменяется на RCSID, начинающийся и заканчивающийся на $; соответствующий инструмент - идент. Эта система изначально использовалась RCS и добавлялась автоматически при оформлении заказа, но с тех пор стала неотъемлемой частью руководства по стилю в базе кода FreeBSD, которое определяет пользовательское ключевое слово $ FreeBSD:... $ и макрос, переименованный в __FBSDID.

Система управления версиями SRC также может использовать формат файла SCCS внутри (или RCS s) и стремится предоставить лучший пользовательский интерфейс для SCCS, при этом управляя только однофайловыми проектами.

Ссылки
Дополнительная литература
Последняя правка сделана 2021-06-09 11:01:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте