В чем разница между VCS и SCM? - PullRequest
39 голосов
/ 08 ноября 2010

Я провожу некоторые исследования по контролю версий на практике, и в книгах и бумагах, кажется, есть два названия одного и того же: Управление конфигурацией программного обеспечения (SCM) и Системы контроля версий (VCS). Первый, кажется, популярен у разработчиков программного обеспечения / программистов на Java, а второй - у sysadmins, но оба, на взгляд неспециалиста, означают одно и то же.

С другой стороны, в прошлом я интерпретировал SCM как нечто вроде puppet или cfengine. Кто-нибудь может на практике разъяснить мне эти два термина? Желательно с конкретными примерами.

Ответы [ 2 ]

79 голосов
/ 07 августа 2013

Внимание, SCM может относиться к различным значениям управления версиями:

Более того, люди могут использовать SCM для обозначения других имен:

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

Давайте определим их:

  • Системы контроля версий являются автономным программным обеспечением для управления версиями (Git ...)
  • Управление исходным кодом аналогично VCS
  • Управление конфигурацией программного обеспечения - это все процессы для управления всеми изменениями программного обеспечения: разработка ( VCS ), выпуск поставки ( VCS * 1076)*), отслеживание ошибок, настройки программного обеспечения, настройки хоста / сети, версия / настройки другого программного обеспечения, взаимодействующего с ...

Поэтому просто используйте аббревиатуру SCM сбивает с толку: некоторые люди могут понимать то же значение, что и VCS , другие могут понимать весь процесс, где VCS является лишь аспектом.

30 голосов
/ 08 ноября 2010

Системы контроля версий - это просто программное обеспечение, обеспечивающее функциональные возможности управления версиями (Git, Subversion, TFS Version Control), все попадают в эту категорию.

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

...