2012-09-06 2 views
0

Вы используете крючки для gerrit? Мне нужно сканировать патчсет.Перенаправление крючков Gerrit

Я попытался создать крючки обновления под GIT_DIR/hooks/, но gerrit будет обходить этот крюк при слиянии, в то время как он работает при нажатии на git напрямую. Затем я попытался создать gerrit_site/hooks/patchset_created с разрешением + x. Я могу видеть error_log как 'echo $GIT_DIR', но сообщение не может перенаправлять на пользовательский интерфейс, такой как ssh terminal. Также выход 0 и 1 не блокирует нажатие.

Возможно ли, что крюк gerrit действует как git, который может перенаправить сообщение пользователю и заблокировать некоторый набор патчей?

ответ

1

Возможно ли, что крючок геррита действует как git, который может перенаправить сообщение пользователю и заблокировать некоторый набор патчей?

Нет. Герметичные крючки не могут блокировать действие и не могут перенаправлять выходные данные пользователю. Они запускают post-action, поэтому действие уже выполняется к моменту вызова hook. См. Официальную документацию по адресу http://gerrit-documentation.googlecode.com/svn/Documentation/2.4.2/config-hooks.html

В настоящее время разрабатывается предварительная фиксация крюков и будет доступна в будущих версиях Gerrit, вероятно, в качестве плагина.

Лучшая текущая опция заключается в создании крючка Gerrit, который сканирует патч-набор, как вы описываете, а затем комментирует изменение в Gerrit с помощью интерфейса ssh. В $ dayjob мы используем такой крючок, чтобы автоматически получать оценку обзора -2 с исправлениями с сообщениями фиксации, которые не соответствуют нашим стандартам.

+0

Да, я искал, и наконец, используйте ssh для установки обзора -2. Но я думаю, что у меня может быть одна проблема, если мой отзыв-2 будет удален кем-то вроде администратора, тогда патчсет, который мне не нравится, будет сливаться. –

+0

Единственный способ удалить оценку - это если администратор вошел и вручную изменил базу данных , Это было бы довольно неприятно, поэтому я не считаю, что это большая проблема. Кроме того, я не понимаю, почему администратор будет делать такую ​​вещь? – Brad

0

Это, как представляется, без документов и я не проверял еще сам, но реф-обновление (без г с реф обновляемый) крюк, кажется, сделать то, что вы заслуживаете: https://gerrit-review.googlesource.com/#/c/31350/

Смежные вопросы