我希望我的团队包括我自己审查彼此的提交。在未经其他团队成员审核之前,不得将任何提交包括在我的回购中。我有点迷失在phabricator文档中,所以我在这里问,有没有办法设置这种工作流程?
答案 0 :(得分:22)
您只能限制推送到Phabricator托管的存储库。如果您的存储库位于其他地方(如GitHub),Phabricator显然无法阻止用户推送它。
要限制推送,请创建一个新的Herald规则(在Herald应用程序中),如下所示:
然后像这样配置规则:
When [all of] these conditions are met:
[Accepted Differential revision][does not exist]
Take these actions every time this rule matches:
[Block change with message][Review is required for all changes.]
您可能希望使用此类附加条件,仅在某些存储库中运行规则:
[Repository][is any of][ ... list of review-requied repositories ... ]
或者像这样的条件,让用户通过写一些字符串来绕过规则,例如" @ bypass-review"在紧急情况下的消息中:
[Body][does not contain][@bypass-review]
如果你添加这样的旁路,你可以在拒绝消息中提及它。
答案 1 :(得分:9)
您似乎想要预先提交代码审核。我们通过执行以下操作来设置它(我们使用Git repos。如果您使用其他类型,这些步骤可能会有所不同):
Commit Hook: Commit Content
Object
,但我们使用Global
Accepted Differential revision
和does not exist
Block Change with message
对于该消息,我们将它们引用到使用Arcanist的文章
{
"phabricator.uri": "http://your.phabricator.url"
}
arc diff [base_branch_name]
arc diff [base_branch_name]
以更新差异。arc land [local_branch_name] --onto [base_branch_name]
我希望这会有所帮助。此外,Phabricator开发人员在名为#phabricator
的freenode.net IRC频道中进行了视频群聊。加入社区吧;他们一直对我很有帮助。