为什么这个Phabricator Herald规则不适用?

时间:2015-11-03 21:53:21

标签: phabricator

我正在尝试创建一个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将此规则应用于任何提交,但根据规则脚本甚至不应用此规则。

应该吗?如果是这样,可能会导致这种行为?

1 个答案:

答案 0 :(得分:0)

通过irc.freenode.net上#phabricator频道的讨论,我了解到Phabricator目前不支持使用测试控制台测试预先提交的Herald规则。帮助我创建此问题任务的开发人员可以在此处找到https://secure.phabricator.com/T9719

由于Test Console不是一个选项,我不完全确定如何在不允许不可接受的提交到存储库的情况下测试此类型的Herald规则。我已经阅读了这个https://secure.phabricator.com/book/phabricator/article/diffusion_hooks/页面,其中解释了如何安装自定义挂钩。有趣的是,它指出“只有在所有的先驱条例已经过去并且Phabricator准备接受提交或推动之后,这些钩子才会运行。”我问是否有可能创建一个这种类型的钩子来拒绝所有提交,然后通过实际尝试正常提交来测试Herald规则。有人表示这可能有效。我还没有机会测试这个,所以一旦我了解更多,我就会发布更新。