为什么不应用此 Phabricator 先驱规则?
Why is this Phabricator Herald rule not applied?
我正在尝试创建一个 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 将此规则应用于任何提交,但根据规则记录,甚至不应用此规则。
应该吧?如果是,是什么导致了这种行为?
通过 irc.freenode.net 上 #phabricator 频道的讨论,我了解到 Phabricator 目前不支持使用测试控制台测试预提交先驱规则。帮助我的开发人员为此问题创建了一个任务,可以在此处找到 https://secure.phabricator.com/T9719.
由于测试控制台不是一个选项,我不完全确定如何在不允许不可接受的提交到存储库的情况下测试这种类型的 Herald 规则。我已阅读此 https://secure.phabricator.com/book/phabricator/article/diffusion_hooks/ 页面,其中解释了如何安装自定义挂钩。有趣的是,它指出 "These hooks will run only after all the Herald rules have passed and Phabricator is otherwise ready to accept the commit or push." 我问是否可以创建这种类型的钩子来拒绝所有提交,然后通过实际尝试正常提交来测试先驱规则。有人指出这可能有效。我还没有机会对此进行测试,所以我会 post 了解更多信息后进行更新。
我正在尝试创建一个 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 将此规则应用于任何提交,但根据规则记录,甚至不应用此规则。
应该吧?如果是,是什么导致了这种行为?
通过 irc.freenode.net 上 #phabricator 频道的讨论,我了解到 Phabricator 目前不支持使用测试控制台测试预提交先驱规则。帮助我的开发人员为此问题创建了一个任务,可以在此处找到 https://secure.phabricator.com/T9719.
由于测试控制台不是一个选项,我不完全确定如何在不允许不可接受的提交到存储库的情况下测试这种类型的 Herald 规则。我已阅读此 https://secure.phabricator.com/book/phabricator/article/diffusion_hooks/ 页面,其中解释了如何安装自定义挂钩。有趣的是,它指出 "These hooks will run only after all the Herald rules have passed and Phabricator is otherwise ready to accept the commit or push." 我问是否可以创建这种类型的钩子来拒绝所有提交,然后通过实际尝试正常提交来测试先驱规则。有人指出这可能有效。我还没有机会对此进行测试,所以我会 post 了解更多信息后进行更新。