Ревью кода в mercurial

hg review — полезная плюшка для mercurial'а


У git'а есть GitHub, а у Mercurial'а есть hg review. На самом деле я сравнил козу с бояном.
image
Ревью кода.

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

И вот появился проект, который дает нам инструмент, а как его использовать — решать нам.
Итого:

image

Установка.

Установка происходит так, как всех других не встроенных расширений для mercurial:

> cd some_cool_place
> hg clone bitbucket.org/sjl/hg-review


Дописываем в наш ~/.hgrc:

[extensions]
review = [path to]/hg-review/review/

Готово.

image

Настраиваем.

Для начала скажу, что работает hg review следующим образом:
Мы должны создать некий общедоступный репозиторий, куда смогут ложить/брать код все разработчики.
Далее, мы активируем для нашего основного репозитория, поддержку ревью кода и при этом указываем наш общедоступный репозиторий для хранения всех ревью.
При работе, hg review, будет брать код для ревью с нашего основного репозиторя для разработки, а все коментарии будет ложить в репозирий для ревью.
Почему это сделано таким образом? Потому что это позволин не засорять наш основной репозиторий лишними, не нужными коммитами. Ведь при своей работе он будет генерировать определенный набор файлив и в принципе каждый коментарий мог бы вызвать коммит.
Вместо этого, при инициализации в вашем репо создастся файл .hgreview, с одной единственной строкой: указанием на репозиторий для хранения ревью. Плюс, в вашем локальном репозитории, в .hg/ будет создана директория review, которая и дудет рабочей копией этого удаленного репозиторя для ревью.
Т.е для обеспечения всей работоспособности, наш основной репо пострадает всего один раз, когда будет коммит с созданием .hgreview
Этот файл необходим для того, что бы другие разработчики не заморачивались с поддержной hg review.

image

Переходим в некий существующий репозиторий, где мы хотим делать ревью кода.
> hg review --init --remote-path [url-of-remote-public-review-repo]
Готово.
Остальным разработчикам, будет достаочно один раз выполнить:
> hg review --init
Эта команда, основываясь на информации из .hgreview создаст скрытый репозиторий и подготовит все, для работы.
Теперь для пользования системой мы будем запускать
> hg review --web
когда нам необходимо. Все нужные для функционирования системы действия можно выполнить из webинтерфейса. Добавляем коментарии, жмем «push to default» и наши коментарии попадут в общедоступный репозиторяй для ревью. Соответственно, для того, что бы забрать новые коментарии, делаем «pull from default».

Используем.

Итак, основные возможности которые нам предоставляет hg review:


Имея данные возможности, организация конкретного workflow, уже наших рук дело.
Мы можем коментировать чужой код, читать коментарии для нашего кода, синхронизировать эти изменения, с помошью web интерфейса.

Проект относительно молодой, в основном делается силами одного человека, но то, что есть уже сейчас дает надежду, что мы получим очень и очень полезный инструмент.

image

Недостатки (надеюсь временные).

Пока нашли несколько недостатков, среди которых:


Возможно поможет.


image
Ссылки.

Демо: review.stevelosh.com
Репозиторий: bitbucket.org/sjl/hg-review/src
Документация: sjl.bitbucket.org/hg-review
@
15.09.2010 01:12 UTC
Первоисточник