如何通过arcanist强制用户执行SVN提交?

如何通过arcanist强制用户执行SVN提交?,svn,phabricator,arcanist,Svn,Phabricator,Arcanist,我的团队开始在SVN存储库中使用Phabricator 理想情况下,每个人都会遵循arc diff->arc patch->arc commit工作流,在不经过代码审查的情况下不会提交任何内容 我们以前的工作流程是提交更改并发送电子邮件进行审阅,因此每个人都习惯于在审阅之前提交更改。我们的实际工作流程是svn提交->arc diff->继续提交和差异,直到CR通过 如何阻止存储库接受未通过arc diff->arc patch->arc commit工作流的提交?在接受的答案中,声明只有当存储库

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

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

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

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

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

询问并回答: