Это, кажется, довольно твердо найти хорошие ссылки о за и против этих Систем управления версиями.
Если кто-то может сделать короткую и аккуратную статью об этом, зеркально отразить его и отправить его здесь, я думаю, что много людей было бы менее смущено.
Какую систему управления версиями я должен использовать? Я думаю, что это зависит от проекта и от числа людей, работающих над ним. Однако существуют некоторые обычно принимаемые факты, например: Мерзавец является самым быстрым, CVS стабилен и протестирован, SVN прост, и Подвижный кажется большим количеством дружественного Windows.
Кроме того, бумага должна представить доказательства, связаться со сравнительными тестами и объяснением каждого оператора.
Я записал на stackoverflow, потому что большинство читателей здесь должно быть опытными программистами и знать, где попросить получать надлежащие вклады ИЛИ даже писать работу (который был бы потрясающим).
Примечание: Этот вопрос не об относительных достоинствах одного инструмента по другому (существуют, многие отправляют по тем темам), но больше об объективных критериях, которые могут использоваться для дифференциации их и использоваться для выбора один для проекта.
DVCSAnalysis от Google - хорошее начало .
(Что ж, Скотт Чакон, чемпион Git и один из парней, стоящих за GitHub , не согласны в комментариях:
Этот анализ устарел, и на самом деле он очень устарел). дата, когда он был опубликован. См. мои комментарии к ycombinator об этом
Мое мнение таково, что Git и Mercurial почти во всех отношениях превосходят SVN / CVS - я думаю, что почти каждый разработчик, который использовал обе системыЧто касается Git / Hg, они в значительной степени сопоставимы, и любой из них был бы хорошим выбором, хотя Git, похоже, имеет некоторое преимущество в доле рынка, FWIW.
Любые источники / ссылки об этой доле рынка, Скотт?
Возможно, количество репозиториев / пользователей, заявленное на сайтах сотрудничества по социальному кодированию?
)
Кроме того, я написал несколько общих сообщений по этой теме:
Эти ответы SO могут быть недостаточно «специфичными для инструмента», но, по крайней мере, могут указать вам на соответствующие функции, которые предоставляет каждый класс этих систем управления версиями. .
Что касается тестов, у вас есть интересный вопрос Якуба Наребски о тестировании сети, а также его ответ для Git .
Это может быть слишком "ориентированным на Git", но может также использоваться, чтобы задать правильные вопросы при принятии решения о том, какой инструмент управления версиями вы хотите для своего проекта.
Когда дело доходит до дела, "какой vcs подходит мне" - это очень субъективный вопрос, который зависит от многих параметров вашего рабочего процесса, потребностей вашего проекта и просто общего стиля вашей группы.
Если вам нужны подробности сравнения эмпирических характеристик каждой VCS, взгляните на следующие диаграммы:
http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
Однако все, что дальше, будет субъективным мнением - даже если вы проведете эмпирическое тестирование, максимум, что вы получите, это набор различных сравнений, указывающих на то, что одна VCS превосходит в определенной области, а другая - в другой. Как вы расположите эти области по степени важности - решать вам.
Если вам нравится знакомиться с Git, то Linus Torvalds TechTalk в Google очень хорош 1. Он (конечно) очень за git и против всего остального, но смотреть его интересно.