Оцениваю я что там, что там с точки зрения малого количества активных разработчиков. Что будет при 5 и более1 программистов я на практике не знаю2, а потому и не пишу про бранчи и теги.
На работе уже чуть более полутора лет пользуюсь меркуриалом (до этого использовал SVN, backups\2010\11 и Project1 - Copy (20)). У нас с ним симбиоз, особенно после того как я узнал, что пацаны используют не histedit, а mq (не хватает нескольких очередей, правда). Но как бы гит приличному человеку знать надо, поэтому я и друг мой грузовик решили использовать его для совместных штук.
гуй:
GitExtensions > TortoiseHg
плюсы гита: построчный стейджинг, мейнстримность гита и гитхаба
плюсы меркуриала: mq, казуальность
Нет, наверняка в гите можно сделать что-то в духе mq, но это будет либо какой-то шелловый ад, либо какая-то странная кнопка в git extensions.
В целом могу сказать, что мне более по нраву меркуриал. Но построчный стейджинг - это охуенно.
1. Совершенно нереальные масштабы, это, наверное, только в какой-нибудь мегакорпорации возможно или опенсорсе.
2. Знаю, в одной конторе - CVS, в другой - Perforce.
upd: в меркуриале можно кусок диффа целиком (чанк) заныкать в закрома родины (типа стеша), это как некий аналог построчного стейджнга
upd 2:
1. В mq можно сделать несколько очередей, осталось узнать, как там с гуи.
2. В меркуриале есть построчный коммит, подробнее:
2.1.
shelve есть в принципе для разбивки одного файла, но там
2.1.1. Нельзя оперировать построчно, можно только целыми чанками в пределах одного файла.
2.1.2. Я не нашёл там интеграции с mq.
2.1.3. Предназначен для прятания изменений, чтобы не побить их во время всях операций, а не описанного мной выше (аналог в гите - stash).
2.2. Ещё есть
record. Это уже похоже на правду, есть интеграция с mq (qrecord). Но нет гуя.
2.3. И есть
crecord. А это уже очень похоже на правду. Использует curses вместо командой строки, и даёт возможность бить по строкам. Если это можно нормально использовать, то я успокоюсь. Завтра попробую, наверное.
Но то, что все эти вещи надо как-то через жопу искать - это довольно странно. А ещё более странно и постыдно то, что узнал я это (п.1 и 2) из
A Git User’s Guide to Mercurial Queues.