Какой из них более популярен (в настоящее время, по последней базе установки), SVN или CVS?

Мы рассматриваем возможность переключения нашего репозитория управления версиями на мою работу с Perforce на CVS или Subversion. Я сказал, что не думал, что CVS был так популярен, как SVN в последнее время, и его встретили много пустых взглядов. Мой босс сказал мне, что я все еще должен застрять в мире программирования Windows, если я рассматриваю SVN, потому что большинство разработчиков на основе Unix используют CVS.

Кроме того, другой сотрудник сказал, что CVS был намного более популярным, чем SVN. Честно говоря, я вообще ничего не слышал о CVS. Кажется, что SVN поддерживается почти всеми приложениями и веб-сервисами, которые я использую. Я что-то упустил?

Я действительно знаком с использованием SVN, Perforce и Git.

Ответы

Ответ 1

Ребята, которые делают finalbuilder, проводят опрос каждый год среди своих пользователей об их системе контроля версий. Это результаты за 2008 год:

alt version control poll 2008

И это результаты опроса 2009 года доктором Доббсом (изображение, найденное в этом сообщение Forrester).

Dr. Dobbs SCM survey

Ответ 2

Некоторые более справедливые вопросы могут быть:

Установлены ли новые репозитории в SVN или CVS больше?

Являются ли хранилища больше меняющимися с CVS на SVN или наоборот?

Подавляющие ответы, насколько я могу судить, состоят в том, что многие новые репозитории используют SVN, чем CVS, а миграция - от CVS до SVN.

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

Ответ 3

Ваш босс хочет оскорбить вас, но, к сожалению, не знает, о чем он говорит. Люди, "все еще застрявшие в мире программирования Windows", обычно используют SourceSafe или, возможно, что-то действительно дорогое, например, ClearCase.

Subversion была разработана с целью функциональной замены CVS, цели, которой она в значительной степени преуспевает. Скорее всего, ОК, чтобы использовать CVS, если вы работаете с старым проектом, который уже имеет историю CVS. Однако, если у вас есть выбор, вы должны использовать SVN вместо этого.

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

Ответ 4

Кто заботится о том, что является самым популярным?! У обоих достаточно большая база пользователей, и они не исчезнут в одночасье. Ваше решение должно основываться на том, что будет делать работу лучше, а не просто как конкурс популярности.

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

Ответ 5

Из SVN FAQ в вопросе Почему этот проект существует:

Захват базы данных CVS. В частности, мы пишем новый система управления версиями, которая очень подобно CVS, но многое исправляет которые сломаны.

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

Ответ 6

Из того, что я видел на нескольких клиентских сайтах, CVS в значительной степени превосходит SVN. Большинство (всех?) Основных IDE поддерживают его, и такие функции, как атомные коммиты, ценны. Большинство сотрудников, с которыми я встречаюсь, знакомы с этим. Я бы с удивлением обнаружил, что теперь клиент использует CVS.

Ответ 7

Любой, кто использует CVS на этом этапе, должен делать это только потому, что их вынуждают, из-за ситуации, когда "это то, что мы используем". Если вы выбираете новую систему управления версиями, CVS не следует рассматривать. Subversion делает все, что делает, кроме лучшего. В этом весь смысл SVN был написан в первую очередь.

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

Ответ 8

Я разработчик Windows, и я использую Subversion около 3 лет. Прежде чем я переключился с Visual Source Safe, моим первым инстинктом было использование CVS, потому что это то, что я использовал много лет назад в колледже (в unix).

Но после некоторого объема исследований было ясно даже тогда, что большинство людей CVS переключились на Subversion, и именно поэтому я выбрал его. Плюс Джоэл Спольский очень положительно упомянул об этом в какой-то момент своего блога, я думаю, что сильно повлияло на мое решение.

По иронии судьбы, я думаю, что ваш босс и его коллеги застряли в мире Windows. Большинство пользователей Windows, вероятно, предполагают, что все люди Unix используют CVS, потому что это то, что они использовали много лет назад в колледже. Сегодня любой, кто не слышал о Subversion, вероятно, не справляется с тем, что происходит в мире разработки.

Ответ 9

У меня нет исследования о реальном использовании Subversion и CVS. Но ваш босс ошибочен, Subversion широко используется, а также в Unix-системах. Subversion является преемником CVS, и многие проекты переключаются с CVS на Subversion. CVS когда-то был главным образом используемым контролем версий, но в то время всех альтернатив сегодняшнего дня не существовало. Subversion, Git, Mercurial и Bazaar были разработаны позже.

Единственное, что уже существует новый тип систем управления версиями, распределенные VCS. Эти VCS (а именно Git, Mercurial и Bazaar) недавно приобрели большую любовь к некоторым проектам.

Но я не верю, что любой новый проект начинается на CVS сегодня. Subversion имеет почти тот же интерфейс и делает многое лучше, чем CVS.

Ответ 10

Наша организация строго использует SVN. И да, Git получил много шума в последнее время.

Ответ 11

Популярность - это не лучший способ судить. Свидетельствуйте ужас, который является Bugzilla, который все еще выбирается, потому что он популярен. Это просто ужасно. Хорошо, теперь это с дороги...

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

Но вы должны действительно рассмотреть некоторые другие параметры, такие как Git, Mercurial и т.д. Распределенные системы, подобные этим, полезны, даже если вы все в одном офисе или даже если это только вы один.

Ответ 12

CVS - это реликвия предыдущего тысячелетия. На CVS не было никаких разработок в течение 10 лет. Это вечность в этом деле. Весь мир с открытым исходным кодом (кроме, возможно, сообщества Eclipse) перешел к современным системам управления версиями: Subversion, Git, Mercurial, Bazaar и т.д.

EDIT: недавно Eclipse отключил весь доступ к репозиторию CVS и перешел на Git.

Ответ 14

Каждый сервер * nix поставляется с CVS. Вы должны быть немного информированы о том, чтобы использовать SVN. И он должен быть установлен первым. Эти факты будут влиять на статистику намного больше, чем "что более популярно".

Sourceforge добавлен SVN. Теперь они добавляют еще несколько SCM-систем.

Ответ 15

Я думаю, что ваша команда действительно пожалеет об этом, если они предпочтут использовать CVS. Компания, в которой я работаю, находится в процессе перехода от CVS к SVN, между ними действительно нет конкуренции. Главная особенность SVN, которая меня отличает, - это то, как она относится к папкам. CVS - это только файлы версий, в то время как SVN отслеживает файлы и папки. Для меня, по крайней мере, это упрощает сохранение и организацию кода, поскольку он упрощает добавление каталогов в управление версиями и перемещение файлов внутри каталогов.

Если вы используете современную IDE (затмение или netbeans - это те, с которыми у меня больше всего опыта), все детали закрыты, и вы, вероятно, никогда не заметите разницы.

Ответ 16

Я не знаю о "установленной базе", но из (большого) числа разработчиков, которых я знаю из Интернета, SVN довольно популярен, в отличие от CVS; но Git быстро подходит как возможный новый фаворит.

Ответ 17

SVN.

Тем не менее, проверьте эти вопросы: subversion-vs-cvs, what-are-the-advantages-of-using-svn-over-cvs

Также обратите внимание на некоторые проекты, которые используют SVN: Apache Software Foundation, KDE, Free Pascal, FreeBSD, GCC, Python, Django, Ruby.

Ответ 18

Честно говоря, SVN предполагалось заменить CVS, но его ветвящаяся модель очень близка к VSS, и, таким образом, полное дерьмо.

Если бы мне предоставили опцию между CVS и SVN, я бы выбрал CVS.

Хорошо, что у вас есть другой выбор. В то время, когда я начал настраивать свою личную настройку, я выбрал меркурий, потому что чувствовал, что git еще не готов в Windows.

Если вы можете попытаться направить боссов на меркурийные или git. Если они им не нравятся, то я слышал, что BitKeeper или Clearcase также были бы хорошими альтернативами (но у них не было опыта), но они дороги, а у BitKeeper есть wakadoo, которые пишут эту лицензию.

Ответ 19

Я не могу говорить окончательно, но из многих мест, над которыми я работал последние 10 лет, многие использовали Subversion. Некоторые использовали Perforce. Ни один из них не использовал CVS (и я даже не слышал о том, чтобы это предлагалось серьезно как вариант).

(Боковое замечание: одно место, в котором я работал за последние 10 лет, использовал Visual Source Safe. Возможно, неудивительно, что сейчас они не работают.)

Ответ 20

В компании, которую я работаю, мы склонны использовать CVS для большинства проектов, если не для всех... Я знаю, что где-то существует репозиторий Subversion, но в основном используется для не-исходного кода (диаграммы и документы). Почему это так для меня великая тайна. У меня были длительные дискуссии с коллегой о Subversion и насколько лучше это сравнение с CVS. Мы даже пытались убедить нашего босса переместить весь код проекта (довольно небольшой по размеру, внутренний проект) в SVN. Но усилия были безуспешными.

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

Ответ 21

Я слышал хорошие вещи о Team Foundation, SVN, Git, базаре и mercurial.

Я использовал CVS, Clearcase, mercurial, SVN и небольшой базар.

Я действительно не борюсь с системами управления распределенной версией; они звучат как кошмар для разработки программного обеспечения и контроля версий для выпуска продукта. Из dVCS я предпочитаю mercuruial (aka hg), благодаря дружественным документам.

Я бы порекомендовал SVN для современного развития.

Ответ 22

Учитывая, что CVS GUI, который я использовал, не обновлялся с 2005 года, я бы сказал, чтобы не использовать CVS.