stringtranslate.com

Система контроля версий

Система контроля версий ( RCS ) — это ранняя реализация системы контроля версий (VCS). Это набор команд UNIX , которые позволяют нескольким пользователям разрабатывать и поддерживать программный код или документы. С помощью RCS пользователи могут вносить собственные изменения в документ, фиксировать изменения и объединять их. RCS изначально был разработан для программ, но также полезен для текстовых документов или файлов конфигурации, которые часто пересматриваются. [4]

История

Разработка

RCS был впервые выпущен в 1982 году [4] Уолтером Ф. Тичи в Университете Пердью . Это был инструмент, альтернативный популярной в то время системе контроля исходного кода (SCCS), которая была почти первым программным инструментом контроля версий (разработанным в 1972 году ранними разработчиками Unix). [5] RCS в настоящее время поддерживается проектом GNU Project . [6]

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

Юридические и лицензионные

Первоначально (до версии 3, которая распространялась в составе 4.3BSD) ее лицензия запрещала распространение без письменного разрешения Вальтера Тихи: [7]

Авторское право (C) 1982 г. принадлежит Уолтеру Ф. Тичи [...] Все права защищены. Никакая часть этого программного обеспечения не может продаваться или распространяться в любой форме и любыми способами без предварительного письменного разрешения автора.

Файл READ_ME сопровождал некоторые версии RCS, которые дополнительно ограничивали распространение, например, в 4.3BSD-Reno . [8]

ок. В 1989 году лицензия RCS была изменена на что-то похожее на современные лицензии BSD , как видно из комментариев в исходном коде. [9]

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

RCS 4.3, выпущенная 26 июля 1990 года, распространялась «по лицензии Free Software Foundation » на условиях GPL . [10] [ нужна полная цитата ]

Поведение

Режим работы

RCS работает только с отдельными файлами. У него нет возможности работать со всем проектом, поэтому он не поддерживает атомарные фиксации , затрагивающие несколько файлов. Хотя он обеспечивает ветвление для отдельных файлов, синтаксис версий громоздкий. Вместо использования ветвей многие команды просто используют встроенный механизм блокировки и работают с одной головной веткой. [4]

Применение

RCS основан на использовании «групп редакций» или наборов файлов, которые были возвращены с помощью команд co(checkout) и ci(check-in). По умолчанию возвращенный файл удаляется и заменяется файлом «,v» (поэтому при возврате foo.rb становится foo.rb,v), который затем может быть извлечен любым, имеющим доступ к группе ревизий. Файлы RCS (опять же файлы с расширением «,v») отражают основной файл с дополнительными метаданными в первых строках. После регистрации RCS сохраняет изменения в древовидной структуре, за которой можно следить, чтобы пользователь мог при необходимости вернуть файл к предыдущей форме. [4]

Преимущества

Недостатки

Примечания

  1. ^ GPL-3.0 или новее с 24 июня 2010 г.

Рекомендации

  1. ^ Тьен-Ти Нгуен (2 февраля 2022 г.). «Доступна версия GNU RCS 5.10.1» . Проверено 3 февраля 2022 г.
  2. ^ Справочное руководство V-System 6.0
  3. ^ «Обновить лицензию до GPLv3+». 24 июня 2010 г.
  4. ^ abcde Tichy, Уолтер (1982). «Проектирование, внедрение и оценка системы контроля версий». ICSE '82 Материалы 6-й Международной конференции по программной инженерии : 58–67 . Проверено 12 июня 2012 г.
  5. ^ Раймонд, Эрик. «Понимание систем контроля версий (ПРОЕКТ)». www.catb.org . Проверено 13 февраля 2017 г.
  6. ^ "РКС". Проект ГНУ . Фонд свободного программного обеспечения. 22 января 2015 года . Проверено 27 июня 2015 г.
  7. ^ "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c". Документация Уолтера по ретро-вычислениям. 19 мая 1986 года . Проверено 15 ноября 2014 г.
  8. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME". 27 февраля 1989 г.
  9. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c". 15 августа 1989 года.
  10. ^ Файл README RCS 4.3.
  11. ^ abc «Концепции контроля версий - система контроля версий (RCS), система параллельных версий (CVS) и Subversion». IT PASSION — «Блог IT-профессионалов» . 10 декабря 2008 года . Проверено 20 февраля 2017 г.
  12. ^ Стейнберг, Фрэнк. «Системы контроля версий (RCS, CVS, Subversion, Git)». Технический университет Брауншвейга . Проверено 20 февраля 2017 г.

Примечания

дальнейшее чтение

Внешние ссылки