2

我的团队开始在我们的 SVN 存储库中使用 Phabricator。

理想情况下,每个人都将遵循arc diff-> arc patch->arc commit工作流程,在没有经过代码审查的情况下不会提交任何内容。

我们的旧工作流程只是提交更改并发送电子邮件进行审查,因此每个人都习惯于在审查之前提交更改。我们的实际工作流程是svn commit-> arc diff->继续提交和区分,直到 CR 通过

如何阻止存储库接受未通过arc diff-> arc patch->arc commit工作流程的提交?

4

1 回答 1

3

在接受的对Phabricator 限制 git push的回答中,声称只有在您的存储库由 Phabricator 托管时才能执行此操作。虽然在这种情况下会容易得多,因为它可以通过 Herald 进行配置,但应该可以为您的 svn 存储库编写一个预提交钩子,以使用管道(或可能是 arc)来检查与尝试提交。我相信 arc 会在提交消息中添加一行Differential Revision: <URL>,所以对于初学者来说,如果缺少那条提交可以被拒绝。然后可以使用phid.lookup和检查来自 URL 末尾的差异修订,differential.query以检查状态是否为“已批准”。

于 2016-04-23T11:43:37.183 回答