You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置arc land校验本地与Phabricator评审版本一致

结论

这个需求完全可以实现,靠Arcanist自带的配置项就能做到,不需要修改工具源码。

默认逻辑的问题

默认状态下arc land的拦截规则只检查待合入的提交里有没有没关联Phabricator评审的新提交哈希:

  • 你用--amend追加修改的时候,是直接改了原提交的内容,没有生成新的提交哈希,默认规则识别不到内容变更,就会把没走评审的代码直接放行合入master
  • 如果你不用amend,而是新建一个独立提交,新提交的哈希没绑定对应评审单,就会触发默认的版本不匹配报错,拦截操作。
具体配置方式

打开项目根目录下的.arcconfig文件(如果要全局生效就修改用户目录下的Arcanist全局配置),加入如下配置项:

{
  "land.require-matching-diff": true
}
生效后的表现

配置打开后,arc land会在原有提交哈希校验的基础上,额外增加一层内容一致性校验:

  • 合入前会逐字节对比本地待合入的代码,和Phabricator上对应评审单最新的、已经走完评审流程的diff内容是否完全一致
  • 不管你是新建了没走评审的独立提交,还是用--amend修改了原来已经提过评审的提交,只要两边内容不匹配,就直接报错拦截,提示你必须先执行arc diff把新修改同步到评审单、走完评审流程才能继续合入
  • 只有本地代码和平台上评审通过的版本完全一致时,arc land才会正常执行合入操作,把代码合并到master分支。
补充说明

这个配置对项目所有成员生效,开启前建议同步给团队其他成员:后续不管修改量大小,只要amend了提交,都得重新更新评审单,不能改完直接land,避免大家操作时被拦截影响效率。

内容的提问来源于stack exchange,提问作者tgeng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:48:25