Не так давно я обосновывал, что git лучше, чем Mercurial. К сожалению, невозможность увязать LDAP-авторизацию иначе, чем через WebDAV, поставила крест на использовании git. WebDAV оказался непригоден для транзакционных операций с большим числом файлов, репозиторий постоянно приходил в некорректное состояние. Примерно через неделю разборок с WebDAV нам надоело жрать этот кактус и было решено использовать Mercurial.
Прошел почти месяц и уже можно твердо сказать, что решение было удачным.
Приятности
По сравнению с SVN лучше практически все: отличная скорость, удобная работа с бранчами.
Никаких проблем интеграции с Trac, все сделано на аналогичном SVN’у уровне
Для одновременной работы с SVN и Mercurial существует отличная утилита hgsvn. Мы ее использовали при импорте истории из SVN, все прошло гладко. В моем домашнем репозитории, правда, возникли мелкие проблемы с распознаванием кодировок, до решения которых пока не дошли руки.
Для Windows существует достаточно приятный TortoiseHg. Лично мне удобнее работать с клиентом командной строки, зато Tortoise обеспечивает удобный интерфейс для просмотра логов. На *nix визуальный показ лога входит в ядро Mercurial и вызывается командой hg view.
Mercurial действительно оказался значительно проще в изучении, чем git.
Потенциальные проблемы
Основная проблемная область при переходе c SVN на Mercurial — работа с бранчами и все что с ней связано. Это очень мощная и полезная функциональность, но при неаккуратном использовании может получиться вот такая лапша:

На картинке вы видите последствия одного коммита в неправильный бранч и последовавший процесс исправления этих последствий.
Настоятельно рекомендую перед миграцией на Mercurial хотя бы одному члену команды внимательно прочитать документацию. Проблемы в первое время обязательно будут возникать, и кто-то должен уметь их решать. Если вы раньше не работали с распределенными системами контроля версий, то интуиция в решении этих проблем не поможет, нужно будет четкое понимание того, что происходит внутри.
Мелочи, на которые стоит обратить внимание:
hg push требует флага -f при создании новой “головы”, даже если вы работаете в рамках давно существующего бранча.
После мержа все изменения в рабочей копии должны быть закоммичены в рамках одной транзакции. В ряде ситуаций это бывает очень неудобным. Всегда коммитьте все локальные изменения перед мержем!
Материалы