Я занимаюсь процессом обзора моей небольшой команды (3 участника).
Мы используем git, а модель, которую мы хотим использовать, является интегратором с благословленным репозиторием. Каждый разработчик имеет публичное репо, и интегратор тянет коммиты, чтобы включить в благословенное репо.
Я вижу несколько альтернатив для включения отзывов в этот новый процесс:
1. Разработчики остались в своей песочнице
- Разработчик A разрабатывает новую функцию в ветки с названием
feature
, опубликованной в своем пабе, затем просит просмотреть рецензент B. - Рецензент B помещает
feature
в свой локальныйremotes/A/feature
и просматривает изменения, дает обратную связь A, A делает изменения. - Повторяйте до тех пор, пока B не примет состояние ветки
feature
. - B отмечает последний фиксатор (тег
Reviewed-by
, я не уверен, как это работает). - B публикует рассмотренную ветку в своем пабе и просит интегратора я интегрировать изменения в благословенное репо.
- каждый может вытащить изменения из благословенного репо.
профи:
- Интегратор
- может отказаться от неисследованных коммитов/ответвлений.
- отмеченная фиксация показывает, кто просмотрел новый
feature
.
минусы:
- довольно громоздкий процесс. Или, может быть, нет?
- сами комментарии обзора не хранятся нигде для справок в будущем (больше, чем за почту, возможно).
2. Разработчики добавляют свою новую функцию в филиал благословенного репо
Благословенное репо уже не так благословлено, но его ветвь master
есть.
- A развивает новую функцию в ветке и подталкивает ветку к благословенному.
- A запрашивает обзор от B.
- B рассматривает ветвь
feature
от благословенного, дает обратную связь. - A и B работают взад и вперед, пока не будет принята ветвь
feature
блаженного. - B обозначает последнее фиксацию (
Reviewed-by
). - Интегратор Я могу объединить ветвь
feature
вmaster
.
плюсы:
- немного проще
минусы:
- у всех есть доступ на запись к блаженному, что означает, что каждый может потенциально повредить там.
- многие детали изменений назад и вперед во время обзора могут не иметь места в блаженных?
3. Инструмент сторонней проверки
После некоторого времени просмотра я нашел reviewboard, что кажется приятным (если мы сможем пройти через установку на нашем сервере).
плюсы:
- весь обзор доступен для справок в будущем
минусы:
- настройка инструмента на стороне сервера
- Разработчик A должен иметь возможность иметь незанятую ветвь
feature
в своем пабе. Как рецензент B может отметить фиксацию в pub как рассмотренную, так как она доступна только для чтения? В идеале скорость, с которой была проведена проверка фиксации, должна отображаться из git, без необходимости запускать обзор. - если рассмотренная функция в пабе не отмечена буквой B, как интегратор может узнать, был ли он рассмотрен? Открыв инструмент третьей стороны, но не слишком ли это громоздко?
Так как я хочу, чтобы A имел свои изменения в своем пабе, я предполагаю, что хочу сделать пост-фиксацию отзывов. Вопрос заключается в том, что должно произойти после того, как обзор прошел, интегратор должен иметь возможность выбрать функцию для блаженства и посмотреть, был ли он рассмотрен, желательно, не запуская инструмент.
Я ищу комментарии по этим альтернативам и другие предложения по пути! Я уже могу сказать, что я не люблю вариант 2.