Здравствуй, Mercurial!

Около полугода назад я стал заниматься разработкой воксельной игры на подобии Minecraft. Сначала занимался один, потом нашел единомышленников. Они и подтолкнули меня перейти на Mercurial. Попробовал — понравилось. Я окончательно перевел все проекты с SVN на Mercurial и очень доволен.

Слышал я о нем давно, но потребности покидать исправно работающую SVN не возникало. Работал с SVN фактически я один, уходя с одного места работы делал коммит, приходя на другой ПК, обновлял рабочую копию.

Теперь же ситуация радикально изменилась. В нашей команде 5 человек, и так как мы находимся в разных частях света, коммиты в проект идут практически постоянно. Доходило до 6 коммитов в час. Такой интенсивный режим работы вынуждает использовать ветвление — обновил свою версию до последней, поработал, хочешь залить изменения на сервер, но это невозможно, так как в это время другой человек выложил свои труды. Нужно делать слияние, что не всегда возможно в svn.

Mercurial по сути более развитая версия SVN. В нем каждый коммит может существовать отдельно от основной ветки. Его стандартные средства позволяют очень удобно и наглядно видеть процесс ветвления и производить слияния. Каждый разработчик может работать в своей ветке, не мешая работе других. Когда код готов, можно выполнить слияние. Ветки также позволяют безболезненно тестировать разные экспериментальные подходы.

Для работы с Mercurial в Windows используется аналог TortoiseSVN  — TortoiseHG.

Еще один важный момент — Mercurial система децентрализованная, и TortoiseHG в своей работе использует локальный репозиторий. Поэтому, все коммиты по умолчанию пойдут именно в него. Чтобы изменения попали на сервер нужно отдельно выполнить «проталкивание» (push) в репозиторий на сервере.

Еще одна приятная мелочь — программа не дает выполнить коммит, пока не введено описание.

Несколько дней было не привычно, но теперь он мне как родной. Рекомендую.

  • http://rkit.org rkit

    За hg респект. Давно юзаю. Удобно.

  • http://rkit.org rkit

    Под Mac не плохой клиент MacHG http://jasonfharris.com/machg/

  • http://rkit.org rkit

    Mercurial на пальцах http://hginit.com/