- PVSM.RU - https://www.pvsm.ru -

Война закончена, все победили

Война закончена, все победилиНа прошлой неделе Fog Creek объявила об окончании войны между Git и Mercurial. Точнее, проанонсировала таким экстравагантным образом выпуск Kiln 3.0 с поддержкой одновременной работы с репозиторией через Git или Mercurial.

Kiln это онлайн-хостинг Hg и Git репозиторий с продвинутой системой code review и управлением группами проектов и пользователей. В связи с новым релизом и провокационным утверждением по поводу войны DVCS, да и тем, что Kiln не очень широко представлен на Хабре, стоит упомянуть несколько ключевых моментов.

Например, что бесплатная версия Kiln не ограничена по времени если у вас до 2х пользователей...

Действительно, бесплатная «версия» Kiln'а почему-то не очень афишируется, и в результате большинство считает его исключительно платным сервисом. Возможно дело в том, что при 2х пользователях сильные стороны Kiln'а становится менее существенными.

Отличительные особенности Kiln'а — удобные code review, управление доступом к репозиториям и быстрый as-you-type поиск в коде и комментариях к commit'ам. Дальше я остановлюсь немного на каждом пункте из этого списка и на базовой функциональности сервера DVCS.

Kiln организует репозитории в иерархию проект — группа — центральные репозитории — ветки. Ветки Kiln в данном случае это тоже репозитории, что может несколько запутать пользователя. Но в команде с ними иногда даже более удобно работать над отдельной функцией по сравнению с ветками Git/Hg. Пользователи могут иметь доступ на чтение, ответвление, изменение или полное администрирование на каждом уровне или конкретном объекте в этой иерархии.

Собственно, уже по этому ясно, что изначально Kiln нацеливался на крупных корпоративных клиентов. Но в данный момент он более популярен у среднего размера стартапов.

Пример проекта с несколькими группами (но без ответвленных репозиторий) можно посмотреть на зеркале open source разработок используемых в FogCreek: mirrors.kilnhg.com/Code/Mirrors [1]

Война закончена, все победили

На том же зеркале можно попробовать поиск по коду и комментариям — скорость меня действительно впечатлила. А вот для code review уже придется сделать пробный (или если вам хватит 2х пользователей — то постоянный) account [2].

Ревью представляет собой набор changeset'ов с возможностью посмотреть изменения в текстовых файлах или изображениях, и прокомментировать общую идею или конкретные строки кода. Каждый из программистов в ревью помечает его как «приемлимо», «требует доработки», или «неприемлимо».

image

Стоит отметить, что изменения входящие в ревью отмечаются и в дереве истории репозитории, и в annotate конкретного файла. В результате всегда можно сказать какие changeset'ы и строки кода были проверены.

Еще в дереве истории мне понравилась подсветка изменений предшествуюших выбранному и потомков — легко видеть какие изменения делались параллельно и могут нарушить интеграционные тесты.

В базовых функциях Kiln не сильно отличается от конкурентов — просмотр истории изменений, навигация по веткам и tag'ам, навигация по файлам определенной версии, annotate/blame для файлов, online редактирование, поддержка markdown в readme, интеграция с почтой, чатами, CI серверами, online хостингами приложений. и т.д.

Может немного не хватает статистики по изменениям. Kiln ограничился «Activity feed» — страница с журналом изменений, где можно настроить за какими событиями и репозиториями следить или подписаться на RSS feed.

Ну, для введения в стиле «галопом по Kiln'у», пожалуй, достаточно. Теперь про «окончание войны DVCS». Тех, кто дочитал до этого места с целью поспорить что лучше — более строгий Меркьюриал или более демократичный и популярный Гит, я наверное разочарую. Я склоняюсь в сторону Гита для распределенных (по количеству разработчиков и времени) проектов и к Hg для более критичных к отслеживанию изменений в истории, но, честно говоря, эти предпочтения минимальные.

Очевидно, что чтобы не терять клиентов, Kiln'у в любом случае требовалась поддержка Гита на волне его популярности. А вот для скольки клиентов существенно именно одновременное использование и Git'а и Mercurial'а… посмотрим. Надеюсь, FogCreek когда-нибудь опубликует результаты этого эксперимента.

Ссылки

Автор: DeeKey

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/git/29992

Ссылки в тексте:

[1] mirrors.kilnhg.com/Code/Mirrors: https://mirrors.kilnhg.com/Code/Mirrors

[2] account: https://secure.fogcreek.com/kiln/try/

[3] Kiln: http://www.fogcreek.com/kiln/

[4] Announcing Kiln Harmony: the Future of DVCS: http://blog.fogcreek.com/announcing-kiln-harmony-the-future-of-dvcs/

[5] Kiln Harmony Internals: the Basics: http://blog.fogcreek.com/kiln-harmony-internals-the-basics/

[6] перевод: http://habrahabr.ru/post/173099/

[7] Источник: http://habrahabr.ru/post/173663/