Какой из них более популярен (в настоящее время, по последней базе установки), 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.
Ответ 13
SVN для меня, но Git (Hub) в последнее время получает много шума. Проверьте это:
SVN vs CVS
http://www.google.com/trends?q=svn%2C+cvs
SVN vs CVS vs 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.