Почему печь основана на Mercurial, а не на других (D) VCS - PullRequest
39 голосов
/ 10 ноября 2009

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

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

Какие функции заставили FogCreek выбрать Mercurial в качестве двигателя печи?

Ответы [ 6 ]

72 голосов
/ 10 ноября 2009

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

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

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

25 голосов
/ 10 ноября 2009

Оригинальный ответ (ноябрь 2009, GitHub всего 1 год, Git только 4)

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

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

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

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


Обновление 2018, семь лет спустя: да, поддержка Windows для Git стала реальностью.

И у Microsoft есть вся кодовая база Windows в одном (гигантском) Git-репозитории: см. « Самое большое Git-репо на планете »: файлы 3,5 млн. , 300 ГБ, 4000 инженеров, производящих 1760 ежедневных «лабораторных сборок» в 440 филиалах в дополнение к тысячам сборок для проверки запросов по запросу.
Но это с добавлением GVFS (Git Virtual FileSystem) , который позволяет динамически загружать только те части, которые вам нужны, в зависимости от того, что вы используете.
Это , а не , но в Git native, хотя его интеграция началась в декабре прошлого года, с внедрением узкого / частичного клонирования .

.

Печь также рекламирует поддержку Git :

Печь , наше лучшее в своем классе решение для хостинга DVCS, поддерживает Git и Mercurial!
GitHub великолепен. FogBugz великолепен. Что может быть еще лучше? Как насчет их интеграции! FogBugz может получать уведомления от GitHub Web Hooks всякий раз, когда во входящем комментарии к ревизии упоминается случай.

9 голосов
/ 19 марта 2010

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

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

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

6 голосов
/ 10 ноября 2009

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

4 голосов
/ 12 апреля 2013

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

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

4 голосов
/ 26 марта 2010

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

...