Контроль версий и контроль версий?

Какое правильное имя для системы, которая хранит версии исходного кода, такие как SVN или TFS?

Я всегда называл это контролем исходного кода, но такие места, как Википедия, называют это контролем версий?

Чтобы сделать такие более сложные сайты, как этот, есть тег для обоих?

 VonC12 июл. 2009 г., 22:29
Извините за вашу награду: мой ответ (сделанный до награды) был выбран автоматически (см. Такжеmeta.stackexchange.com/questions/4508). Оставьте комментарий к моему ответу, если вы хотите, чтобы я подробно остановился на какой-либо конкретной теме.
 VonC13 июл. 2009 г., 10:15
& quot; Извините & quot ;: только потому, что мой ответ был сделанbefore щедрость и был только проголосовал из-за увеличения видимости из-за щедрости. Но, похоже, это не привлеклоnew ответыyou возможно, судить лучше (или имел, но во время истечения срока действия щедрости вас не было, чтобы выбрать его: теперь вы не можете выбрать другой ответ на этот вопрос)

Ответы на вопрос(12)

другое имя:version-control

Основываясь на тегах, использованных на этом сайте, «контроль версий» самый популярный (что вполне нормально, так как этот сайт посвящен программированию):

source control (633 tags) version control (587) revision control (31)
 23 дек. 2009 г., 19:22
Я хочу, чтобы теги были объединены или что-то в этом роде. Наличие нескольких тегов, обозначающих одно и то же, усложняет поиск.

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

В общем случае SCM (управление конфигурацией программного обеспечения) или (управление исходным кодом - производный термин) легко понять, поскольку он используется в качестве общего термина, который включает в себя как контроль версий, так и другие методы, такие как базовое управление. Увидетьhttp://en.wikipedia.org/wiki/Software_configuration_management, В целом современные инструменты SCM, которые варьируются от CVS до Git, включают в себя оба эти метода и многие другие полезные функции, такие как: контроль разрешений, управление правами, аудит безопасности, позволяют настраивать поток SCM (ClearCase), интегрировать с системой сборки и отслеживать проблемы. программное обеспечение и т. д. Я думаю, что список открыт, потому что все, что связано с изменениями программного обеспечения и управления может войти сюда.

Таким образом, основная путаница заключается в понимании различий между Revision Control, Version Control и, возможно, Source Control. Прежде всего, все термины, которые включают в себя «источник» все это производные термины, под которыми я подразумеваю, что некоторые люди обеспокоены всеми этими общими терминами (управление конфигурацией - что такое?) и настаивают на том, что они работают, в частности, с исходным кодом, и их не волнуют другие варианты использования; что справедливо.

Что касается контроля версий по сравнению с контролем версий, я думаю, что правильным термином (в контексте таких инструментов, как SVN, Git) является контроль версий. На мой взгляд, с термином Revision Control основной упор делается на управление изменением (помимо управления версиями) (не только) файлов исходного кода, в то время как с контролем версий упор делается на управление только версиями файлов.

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

Итак, в заключение Revision Control включает в себя контроль версий и больше подходит для таких инструментов именования, как CVS, SVN, Git; в то время как Контроль источника является производным термином, и его следует избегать, если вы хотите назвать конкретный аспект SCM.

SCM > Revision Control > Version Control

Итак, что именно вы сейчас ищете?

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

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

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

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

Некоторые системы (например, SVN) имеют терминrevision который обозначает число, связанное с определенным набором версий всех файлов в хранилище. В таких системахrevision (SVN revision) по сути значитversion (sources version). Иначеrevision control а такжеversion control одинаковые условия.

 23 окт. 2014 г., 08:40
Не совсем, они не такие же термины. В управлении версиями упор делается на управление изменениями (помимо версии), тогда как в управлении версиями упор (очевидно) делается на управление версиями, которые могут не включать слияние, ветвление и т. Д.
 28 нояб. 2018 г., 16:27
Линии размыты в зависимости от того, кто говорит и о чем. @sharptooth является правильным, потому что документация SVN (Subversion tool) (svnbook.red-bean.com/en/1.7/svn-book.pdf) заявляет «Система контроля версий (или система контроля версий) - это система, которая отслеживает инкрементные версии (или версии) файлов и, в некоторых случаях, каталоги с течением времени».

MIL-STD 973 Описывает управление конфигурацией.

Управление конфигурацией программного обеспечения выполняется точно так же.

УвидетьCMMI для хорошего объяснения SCM / CM.

Системы, о которых вы говорите, являются системами контроля версий. Они версии вещей.

Старая SCCS была системой контроля исходного кода.

Системы контроля исходного кода поддерживают историю изменений.

Скажем, вы изменили файл из ревизии

1.1 , 1.2, 1.3.

На 1.3 мы выпускаем «Удивительное издание» нашего продукта.

1.3 является ревизией AwesomeEdition - это версия.

В таких системах, как CVS, изменения происходят как изменения нумерации, а теги обозначают версии. Нумерация версий репозитория SVN сбивает с толку государственных заказчиков, ожидающих MIL-STD такое поведение.

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

Решение Вопроса

Revision Control is the more generic term, used for source-control tools but also for other tools (Word, OpenOffice, ...). It references a version.

Source Control offers revision control with branching and merging which are not always available in all revision tools (Word is not a Source Control, but offer revision control features)

Version Control is a more general term than Source Control in that it manages version of anything (sources or binaries, or any kind of documents)

Примечание: SCM означает «управление исходным кодом», но также и «управление программным кодом», чтобы отразить ту же идею (не только «управление источниками»).
Плюс SCM вводит понятие зависимостей между группами файлов.
И это также может включать в себя понятие жизненного цикла изменений (начать изменение, закрыть изменение, ...), что приводит к системе запроса на изменение.

 18 янв. 2014 г., 20:06
Управление цепочками поставок (SCM): P
 07 июл. 2009 г., 15:24
Также SCM обозначает Управление конфигурацией программного обеспечения.
 24 февр. 2016 г., 13:36
Контроль версий также называется управлением данными о продуктах (PDM) вне разработки программного обеспечения. Более того, управление данными о продукте (или контроль версий) относится к управлению жизненным циклом продукта (PLM). Ссылка:en.wikipedia.org/wiki/Product_data_management
 Robert MacLean13 июл. 2009 г., 09:54
почему ты сожалеешь о награде? тот факт, что за вас проголосовали в 10 раз, должен указывать на то, что у вас лучший ответ. Система автоматического принятия работает нормально.
 10 июл. 2009 г., 17:53
Также должно быть различие между «инструментом» или программным обеспечением, таким как git, hg и svn; и «практика», которая имеет политику в компании и может быть «управлением исходным кодом» или «управлением конфигурацией программного обеспечения».

Используемая терминология не очень точна. Есть статья, описывающая пять соответствующих измерений. Инструменты управления данными для разработки программного обеспечения обычно не поддерживают одновременно более трех из них. Если вы хотите поддержать все пять, вы должны описать процесс разработки:

Version (semantics: modification) View (semantics: equivalence, derivation) Hierarchy (semantics: consists of) Status (semantics: approval, accessibility) Variant (semantics: product variations)

Peter van den Hamer и Kees Lepoeter (1996) Управление данными проектирования: пять измерений платформ CAD, управление конфигурациями и управление данными о продуктах, Материалы IEEE, Vol. 84, № 1, январь 1996 г.

Мне нравится думать об этом так:

Revision Control это чтоthey do.

Source Control это чтоI use them for.

:-)

Есть три синонима, описывающие почти одно и то же:

Revision control. Deals with revisions (document/artifact reviews and subsequent versions of document/artifact) or numbers (as an abstraction of revision concept). Source control. Deals with text (source) files, not binary. This difference plays a great role as long as it is much more easier to perform comparison and get difference between text files. There is a whole range of basic tools related to source control: diff, diff3, patch, etc. This set of tools can be extended to form source control solution. Example of such solution is RCS. Source code management. Deals with more complex operations over the source code: storing it in a repository with the possibility of creating separate branches. It is also assumed that branches can be merged. Another part of source code management is tagging. One problem with source code management is that it has abbreviation SCM. This abbreviation is used to describe more broad set of activities - Software Configuration Management. There's a lot of confusion because source code management is a subset of software configuration management which also deals with such activities as build management, deployment management, continuous integration, dependencies management, release management, etc. Version control. It is used as substitution for such term as source code management in order to avoid ambiguity. It incorporates both concepts of revision control and source control making it to describe almost the same concept. Currently, both terms revision control, source control are substituted with version control as more appropriate taking into account the wide range of tools (CVS, SVN, Git, Mercurial, ClearCase, Perforce, VSS, etc) which solve both tasks of revision control and source control simultaneously.

Картина, чтобы проиллюстрировать более четко различие между всеми этими понятиями:

enter image description here

Version Control System (VCS) is the most commonly used term Source Code Management (SCM) is used in git, but it's sort of invented and can be confused with Software Configuration Management which is already used in the software industry and it's not the same thing.
 19 янв. 2012 г., 12:29
SCM также обозначает Управление конфигурацией программного обеспечения, Управление изменениями поставок. Так что может быть немного больше неопределенности, используяSCM аббревиатура тогдаVCS а такжеRCS.
 27 нояб. 2012 г., 20:13
"а это не одно и то же" ... хотите уточнить?

Это не "правильно" имя, четыре общих имени:

Version control system Revision control system Source control system Source code management system

Если исторический приоритет является чем-то, что следует пройти, термин должен быть Контроль исходного кода - см.http://en.wikipedia.org/wiki/Source_Code_Control_System

Ваш ответ на вопрос