Это может быть не совсем то, что вы хотите, но я думаю, что вы можете найти это полезным в какой-то момент. И другие тоже могут ...
Я работаю в ОС Windows 7 и использую и Mercurial (TortoiseHg), и Subversion (TortoiseSVN) для контроля версий. Зачем? Что ж, мы обнаружили, что в нашей очень небольшой команде, состоящей из 8 человек, Mercurial очень удобно использовать в качестве «личной» сети безопасности, но это очень сбивает с толку некоторых наших людей (например, инженеров FPGA, работающих в Verilog). Мысли «толкать» и «тянуть» с требованием объединить все изменения других людей с вашими не приветствовались с распростертыми объятиями. Это казалось обременительным, и в одном случае инженер потерял всю свою работу из-за неправильного понимания некоторых нюансов того, как Mercurial делает эти вещи. К счастью, была еще одна копия (она умный инженер!), Поэтому не все было потеряно, но это продемонстрировало, как операции Mercurial могут быть запутанными и трудно предсказуемыми, по крайней мере, для некоторых людей.
Сила Mercurial (IMO) - это простота, с которой вы можете переключаться между различными ветками разработки, а с помощью инструмента TortoiseHg визуализируйте дерево версий и выберите, над чем вы хотите работать. Вы можете очень легко (и быстро!) Сохранить свою работу, захватить другую ветку или начать новую, чтобы провести некоторые эксперименты или использовать альтернативный подход. Как удобная личная сеть безопасности и инструмент для смены филиалов, он великолепен. Я использую его все время, пока разрабатываю и тестирую свой код.
Subversion, с другой стороны, делает очень простым в использовании "командный" сервер. Людям легко понять, как это работает. Маркировка и ветвление не так интуитивны, но мы делаем это не очень часто. Обновления, слияния и проверки кажутся более интуитивными и более простыми в управлении.
Оказывается, вы можете управлять одной рабочей копией, используя ОБА Mercurial и Subversion - одновременно! Вы можете извлечь из SVN, затем использовать Mercurial, чтобы «создать репозиторий здесь», или сделать это наоборот. Вы должны отредактировать настройки игнорирования SVN, чтобы игнорировать все файлы .hgxxxx в папке рабочей копии, и чтобы Mercurial игнорировал каталог .svn. После того, как вы это сделали, инструменты командной строки или расширения оболочки для любой системы продолжают работать так же, как и они, и вы теперь управляете своим кодом в двух разных репозиториях!
Сначала я был настроен скептически, но я действительно хотел удобство повседневной работы Mercurial с совместимостью Subversion с центральным сервером, которую наша команда выбрала для общего хранилища кода. Этот способ работы дает вам лучшее из обоих миров без недостатков, которые я заметил до сих пор.