Thu 11 Dec 2008
Мысли вслух: Git или Mercurial
Posted by Alex Lebedev under инструменты, git, mercurial
Выбираем систему распределенного контроля версий (DVCS).
В целом надо сказать, что git и Mercurial считаются двумя лучшими представителями распределенных систем контроля версий. Оба достаточно хороши и отлично решат наши задачи так что практическая разница между ними невелика.
Плюсы Git:
Локальные бранчи. Это очень полезная возможность.
Большая популярность по сравнению с Mercurial. По моим впечатлениям материалов по git в сети в 3-4 раза больше, вероятно, количество пользователей находится в похожей пропорции.
Легкость переноса open-source вещей на GitHub. Для Mercurial, насколько я знаю, нет ничего подобного.
git-svn может быть большим плюсом если нам понадобится интеграция с svn. Можно, например, работать поверх svn-репозитория заказчика, выкладывая туда только стабильные изменения — это будет значительно проще, чем вести параллельные бранчи в SVN.
Плюсы Mercurial:
Легче для понимания и изучения, судя по большинству источников.
Исторически лучше поддерживает Windows, меньше проблем с настройкой.
Меня больше привлекает git, его уникальные преимущества заметно перевешивают недостаки, а статус самой популярной DVCS позволяет полагать, что и развиваться он будет быстрее конкурентов.
Материалы по теме
- Why git is better than X
- Why I chose Mercurial
- Why I chose Git
- Git vs Mercurial
- Git vs. Mercurial: Please Relax
- Revisiting Git and Mercurial
- Git vs. Mercurial: Please Relax
- What are the relative strengths and weaknesses of Git, Mercurial, and Bazaar?
- Use Mercurial, you Git!
- A rebuttal to “Use Mercurial You Git”

December 11th, 2008 at 11:15
Как недавно обращенный Bazaar’щик, не могу не удивиться подобному выбору
. Оба плюса Mercurial можно отнести и к Базару, причем первый еще “плюсовее”. Из плюсов git’а бесспорен только второй, на мой взгляд. Первый выглядит странно: ни разу не встречался с необходимостью, чтобы бранчи не знали, что они растут из одного корня. А насчет четвертого (svn) у git все как обычно менее удобно, чем у Базара. Вот недавний практический случай: http://softwaremaniacs.org/forum/django/7081/#25553 (там чуть ниже мой ответ про Базар).
Плюс у Базара есть набор своих приятных уникальных фич. Shared repositories для экономии места, checkout’ы для более удобной работы с бранчами, stacked-бранчи для экономии сетевого трафика, возможность оформить merge-инструкции в виде файла и прислать его (это что первое в голову пришло). Но самое главное, чем он меня купил — это то, что он очень грамотно и очень быстро развивается. Практически все сравнения в сети уже устарели
December 11th, 2008 at 02:59
для Mercurial есть BitBucket
December 11th, 2008 at 03:56
Насколько я понял по их сайту, BitBucket это хостинг репозиториев и только. Github — это в первую очередь мощная социальная сеть и площадка open-source проектов, и именно в этом его уникальность.
December 11th, 2008 at 04:09
Ну это не голый хостинг, он тоже обладает социальными фишками + есть встроенный issue tracker. Сравните его с FreeHG, и станет видно, что у Bitbucket и GitHub много общего.
December 11th, 2008 at 05:35
Хорошо, значит им осталось только уговорить достаточное число заметных проектов переехать к себе, и тогда можно будет сравнивать с Github, на котором живет большая часть экосистемы Ruby (не только Rails).
Социальные фишки, увы, начинают работать только при наличии серьезного количества участников.
December 14th, 2008 at 07:15
У гита, в отличие от Mercurial нету интеграции с Textmate.
December 14th, 2008 at 07:44
Может быть. Только как вы думаете, какой процент разработчиков пользуется Маками? Какой процент из пользующихся маками взаимодействует с системой контроля версий из Textmate? И если перемножить одно на другое, то различим ли результат без микроскопа?
Это я не к тому что интеграция с Textmate вообще не имеет значения… Скорее к тому, что в ряду критериев для выбора системы контроля версий, выстроенных по убыванию важности, имеет шанс занять почетное 999-е место. Примерно как критерий поддержи в Visual Studio (подставьте свой любимый редактор) при выборе языка программирования.
December 19th, 2008 at 05:07
Полная фигня. Документация на git отвратительна, поэтому бедные пользователи вынуждены писать HOWTO и мануалы в огромных количествах.
December 19th, 2008 at 05:31
Например, он семь минут делает клон репозитория python на локальном диске