Почему Kiln основана на Mercurial, а не на другом (D) VCS

В чем причина выбора Mercurial в качестве основы FogCreek Kiln, система управления исходным кодом с жесткой интегрированный обзор кода и интеграцию FogBugz?

Почему Mercurial, а не другая (распределенная) система контроля версий, такая как Bazaar, Git или Monotone, или создание собственной системы управления версиями, например Fossil (распределенное управление конфигурацией программного обеспечения, включая отслеживание ошибок и wiki)?

Какие функции FogCreek выбрали Mercurial как движок Kiln?

Ответ 1

Вот ответ от одного из разработчиков Kiln.

  • Он обеспечивает вещественное ветвление.
  • Он прост в использовании.
  • Поддержка Windows очень хорошая.
  • Это быстро.
  • Он мощный.
  • Он легко расширяется.

Ознакомьтесь со всеми подробностями здесь. Они полностью объяснили себя.

Ответ 2

Я действительно не знаю, но я бы рискнул "лучшей поддержкой Windows", Windows потенциально стала основной платформой для большей части своей клиентской базы.
Git все еще слишком много "продукта unix/linux", с "надежной" поддержкой Windows через mSysGit.
Просто прочитайте тон некоторых статей MSysGitHerald, например девятый:

В течение очень долгого времени, msysGit был продвинут бандой, сформированной Хансом, Штеффеном, Себастьяном Шубертом и мной (Johannes Schindelin). На каком-то этапе я так расстроился, что вообще не работал над msysGit. Причина проста: это было не более весело. Слишком много людей просили исправления или улучшения, и никто из них не предлагал свои собственные вклады. Поскольку я не человек Windows (будучи счастливым пользователем Linux с 1994 года), работа над mSysGit не была достаточной для меня, чтобы продолжить. Поэтому я остановился.
Но в то же время все изменилось.
У нас есть вклад...

Это не внушает большой уверенности, когда речь заходит о продвижении этого инструмента к вашему ИТ-боссу. Я очень доволен Git для личного использования и очень благодарен за тяжелую работу всех участников mSysGit, но в большой компании мне было бы трудно сделать Git инструмент DVCS по умолчанию, принятый нашими разработчиками Windows.
Как из-за кривой обучения, а в основном из-за того, что уровень поддержки еще не существует.
Это только личное мнение, и если у вас есть другой опыт использования Git успешно, вам будет больше силы.

Mercurial является ближайшим DVCS до Git и на основе переносимых скриптов Python (а не скриптов на основе linux/unix), это может быть прагматичный выбор.

Ответ 3

Когда я посмотрел на систему DVCS , мне нравится Mercurial, потому что.

  • Разработчики Mercurial, похоже, заботятся о пользователях Microsoft Windows.
  • Разработчики Mercurial не думают о том, что пользователи Microsoft Windows являются пользователями Unix, которые вынуждены использовать Windows.
  • В отличие от разработчиков с открытым исходным кодом, разработчики Mercurial, похоже, не любят Microsoft зарабатывать деньги.

Возможно, разработчики Kiln подумали, что... (Все основные системы DVCS достаточно хороши, иначе другие факторы вступят в игру больше)

Ответ 4

Я не могу говорить за FogCreek, но я знаю, когда я выбирал, какой DVCS использовать многие люди, прокомментировал, что git не работает хорошо в Windows (если только он не запускается в cygwin). Поскольку FogBugz предназначен для работы в Windows или Linux-системах (из того, что я понимаю, я сам не являюсь пользователем), наличие дополнительного слоя (cygwin) для запуска git могло быть определяющим фактором. Я не очень разбираюсь в Bazaar или Monotone, поэтому я не могу предложить никаких отзывов.

Ответ 5

Я думаю, что проблема hg vs. git - это красная селедка, поскольку проблема поддержки ОС сама по себе является существенным различием. Реальный вопрос: почему hg, а не bzr, так как эти два очень похожи, и сами разработчики hg считают bzr своей реальной конкуренцией и наоборот. Sun провела обширную оценку как при выборе DVCS для OpenSolaris, так и OpenJDK. Хотелось бы узнать, какой процесс использовался для сбора hg в FogCreek. Все, что мы получили до сих пор в виде ответов (помимо проблемы поддержки ОС), - это общие понятия.

Ответ 6

Теперь они добавляют также git:

Одна из самых больших новых функций - Kiln Harmony, которая позволяет вам работать с репозиториями Kiln, используя либо Git, либо Mercurial. Так что вы можете переместите изменения в репозиторий Kiln с помощью Git, а затем потяните их, используя Mercurial. Это означает, что вам никогда не придется решать, хотите ли вы для использования Git или Mercurial.