Project

General

Profile

Использование инструмента ReviewBoard

Настройка Mercurial для работы с RBTools

Описание наборов изменений

RBTools подразумевает, что вы используете формат Mercurial для составления набора изменений (diff). Проверьте, что у вас не используется формат Git, т.е. отсутствуют следующие строчки в .hgrc:

[diff]
git=1

Обеспечение доступа к репозиторию без ввода пароля

RBTools подразумевает, что для выполнения операций с репозиторием ему не надо будет вводить имя пользователя и пароль. Для решения этой задачи их необходимо сохранить во внешнее хранилище. Правильным способом является включение расширения Mercurial Keyring, которое позволяет сохранить пароль в безопасной базе данных.

Настройка расширения описана в официальной документации: http://mercurial.selenic.com/wiki/KeyringExtension

Краткие шаги по установке данного окружения в Debian Stretch:

sudo apt-get install mercurial-keyring

Затем необходимо добавить следующее расширение в mercurial:

[extensions]
mercurial_keyring =

Установка и настройка RBTools

Отправка изменений на Review

Предположим, что вы сделали 4 набора изменений 168 169 170 171 для решения задачи 15235 в трекере. Для того, чтобы отправить их на сервер ReviewBoard необходимо выполнить следующие действия:

hg push
rbt post --bugs-closed 15235 -o 167 171

Обратите внимание, что в качестве базовой необходимо указать номер ревизии, относительно которой был сделан первый комит из серии. В текущем случае в качестве первой ревизии следует указать 167

Отправка изменений на ReviewBoard

Схема отправки

ReviewBoard <- Автор : Запрос на рецензию

ReviewBoard -> Рецензент : Чтение

ReviewBoard <- Рецензент : Задача на рецензирование

alt without plugin

  ReviewBoard -> Автор : Чтение задачи

  Redmine <- Автор : Создание задачи

else with plugin

  ReviewBoard -[#green]-> Redmine : Создание задачи

end

ReviewBoard <- Автор : Закрытие запроса

  1. Автор создаёт отправляет запрос на ревью кода в систему ReviewBoard

  2. Рецензент просматривает данный запрос и оставляет комментарии к нему на ReviewBoard

  3. Автор запроса просматривает комментарии и создает в соответствии с ними задачи в Redmine (В будущем планируется создание плагина для ReviewBoard, который будет автоматически создавать задачи в Redmine для каждого комментария)

  4. После создания задач в Redmine по комментариям к запросу на ревью и исправлению этих задач автор запроса на ревью закрывает созданный им запрос.

Некоторые дополнительные правила работы с ReviewBoard

  • Если рецензенты считают качество кода в запросе допустимым, то они выставляют данному запросу <>

  • Если все рецензенты поставили запросу <>, то закрывать запрос имеют право только мега-менеджеры (И.В. Парамонов и А.М. Васильев) после просмотра данного запроса.