【发布时间】:2014-10-29 00:58:15
【问题描述】:
我希望我的团队包括我自己来审查彼此的提交。在未经其他团队成员审核之前,不应将任何提交(包括我的提交)推送到 repo 中。我有点迷失在 phabricator 文档中,所以我在这里问,有没有办法设置这种工作流程?
【问题讨论】:
标签: phabricator
我希望我的团队包括我自己来审查彼此的提交。在未经其他团队成员审核之前,不应将任何提交(包括我的提交)推送到 repo 中。我有点迷失在 phabricator 文档中,所以我在这里问,有没有办法设置这种工作流程?
【问题讨论】:
标签: phabricator
您只能将推送限制在 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]
如果您添加这样的绕过,您可以在拒绝消息中提及它。
【讨论】:
您似乎想要进行预提交代码审查。我们通过以下方式进行设置(我们使用 Git 存储库。如果您使用其他类型,这些步骤可能会有所不同):
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 开发人员在 freenode.net IRC 频道上的聚会,称为#phabricator。快来加入社区;他们一直对我很有帮助。
【讨论】: