Разница между СКМ и СВН - PullRequest
26 голосов
/ 03 мая 2011

В чем разница между SCM и SVN?А чем мерзавец отличается от ртутного?

Ответы [ 5 ]

33 голосов
/ 03 мая 2011

SCM обычно означает Управление конфигурацией программного обеспечения , которое включает CMRM (Управление изменениями до Управления выпусками), включая управление версиями.

SVN является только VCS: Инструмент контроля версий .

Таким образом, каждый является гораздо более полным и более полно охватывает жизненный цикл разработки, но при этом является общим: Team Fundation Server или RTC - Rational Team Concert - оба являются примерами SCM.

13 голосов
/ 03 мая 2011

SCM - это Управление конфигурацией программного обеспечения, а SVN - инструмент системы контроля версий, который является подмножеством SCM. VCS также называют Revision Control и Git, Mercurial также являются инструментами VCS (распределенная VCS, если быть более точной).

SVN, Git, Mercurial и т. Д. Являются инструментами контроля версий, одного из процессов в SCM. SCM также включает управление сборкой, отслеживание дефектов и т. Д.

7 голосов
/ 03 мая 2011

SCM - это общий термин, который на самом деле ничего не значит. Я слышал, что это означает «Управление конфигурацией программного обеспечения», «Управление изменениями программного обеспечения» и «Управление исходным кодом», и, возможно, есть и другие. Насколько я могу судить, это в основном маркетинг, говорите.

Если вы видите, что это означает что-то вроде последней фразы, то SVN (сокращение от Subversion), git и Mercurial - все это конкретные типы систем SCM. Git и Mercurial примерно эквивалентны. Есть небольшие различия, но личные предпочтения - это действительно главное. Обе эти системы называются распределенными системами контроля версий, что означает, что нельзя полагаться ни на одно центральное местоположение. Каждый человек, использующий их, может работать независимо, и они более или менее синхронизируют все также независимо.

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

4 голосов
/ 05 января 2015

SVN (Subversion) - это инструмент, который обеспечивает функциональность управления версиями. Разработчики использовали этот инструмент для проверки своих кодов. Используя это, мы можем отследить изменения, внесенные в файлы / коды в процессе разработки программного обеспечения.

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

4 голосов
/ 03 мая 2011

Я пробовал и Git, и Mercurial (и в настоящее время использую Mercurial). Из того, что я видел, Git выглядит немного быстрее и, возможно, более универсально, но это требует затрат на обучение. Когда я сначала попробовал их обоих, у меня не было других коллег, на которых можно было бы рассчитывать на информацию, и я обнаружил, что кривая изучения Git намного круче, чем у Mercurial. Также я обнаружил, что Mercurial намного проще в использовании из Windows (которая является моей основной платформой для разработчиков).

Mercurial поддерживает Git, и, вероятно, верно и обратное, так что вы можете попробовать любой из них и переключиться позже, если обнаружите необходимость.

...