2015-11-03 4 views
0

Я пытаюсь создать правило Herald для блокировки коммитов с пустыми сообщениями фиксации. Это правило является глобальным правилом, которое применяется к Commit Hook: Commit Content. К сожалению, мне не удалось заставить правило запускаться с тестовой консолью.Почему это правило неграмотного паломника не применяется?

Это привело меня попробовать изменения условий различными способами, в конечном счете, пытается это:

When any of these conditions are met: 
Always 

Take these actions every time this rule matches: 
Block push with message: No empty commit messages allowed. 

Похоже, что это должно привести к Phabricator применить это правило к любому совершить, но в соответствии с правилом Стенограмма даже это правило не применяется.

Должно быть? Если да, то что может вызвать такое поведение?

+0

Несколько простых вопросов: просто чтобы убедиться, что правило не отключено, не так ли? Я уверен, что это так, но я хочу, чтобы все было просто с первого взгляда ... Когда было создано правило, было ли оно создано как правило персонального или типа объекта? Если бы это было так, это может ограничить область применения. – CEPA

+0

Правило помечено как активное, поэтому оно, похоже, не отключено. Я уверен, что я создал его как глобальное правило, и тип правила отображается как глобальный, так что это так. Я не знаю, как изменить тип правила после его создания, или если это возможно, поэтому я сомневаюсь, что это когда-либо было чем-то иным, чем глобальным правилом. – foven

ответ

0

Посредством обсуждения в канале #phabricator на irc.freenode.net я узнал, что тестирование правил pre-commit Herald с тестовой консолью в настоящее время не поддерживается Phabricator. Разработчик, который помог мне, создал задачу для этой проблемы, которую можно найти здесь https://secure.phabricator.com/T9719.

Поскольку тестовая консоль не является вариантом, я не совсем уверен, как тестировать правила Herald этого типа, не допуская неприемлемых коммитов в репозиторий. Я прочитал эту страницу https://secure.phabricator.com/book/phabricator/article/diffusion_hooks/, в которой объясняется, как установить пользовательские перехватчики. Интересно, что в нем говорится, что «эти крючки будут запускаться только после того, как все правила Herald пройдут, а Phabricator в противном случае готов принять фиксацию или нажатие». Я спросил, можно ли создать крючок этого типа, чтобы отклонить все коммиты, а затем проверить правила Herald, фактически попытавшись сделать коммиты как обычные. Было указано, что это может сработать. У меня еще не было возможности проверить это, поэтому я опубликую обновление после того, как узнаю больше.

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