首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phabricator Arcanist弧地vs arc修正

Phabricator Arcanist弧地vs arc修正
EN

Stack Overflow用户
提问于 2013-07-11 21:39:38
回答 1查看 7.2K关注 0票数 4

我在我的团队中使用Phabricator和Arcanist进行代码审查。'arc‘命令很棒,但有一种情况下它对我们不起作用。

我们只有一个xml文件,其中包含一个链表(每个元素引用一个前一个元素)。我们并不经常修改这个文件,但偶尔会这样做。如果两个人同时进行更改,则会发生“静默冲突”,这意味着链表被破坏,因为两个新元素都链接到相同的前一个元素。这不是很难解决的问题。但是git不会引发合并冲突。

因此,当我们运行arc时,错误的xml文件会被自动推送。我们不想这样。

正确的做法是使用arc moving,然后手动解决冲突,然后使用git推送(就像我们今天做的那样,没有任何麻烦),或者您建议如何推进这一过程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 07:49:37

一些可能的想法:

  • 您可以在git push运行之前通过arc land --hold停止并检查更改,然后手动运行git push
  • 您可以在Git允许提交之前添加本地Git预提交挂钩以验证XML文件。
  • 您可以在服务器上添加预接收挂钩以在将XML文件推送到远程之前对其进行验证。<代码>H29<代码>H110您可以使用<代码>D12中的指令覆盖git push的合并行为,将默认的合并替换为正确的合并(或合并失败)。
  • 您可以尝试将XML文件替换为不具有这些不需要的合并属性的某些格式的数据,因为这是一个常见的问题。
  • 您可以通过在文件中包含一些总是冲突的字符串来强制合并失败。例如,向容器元素添加一个像lastNode="whatever"这样的属性(例如,总是在第1行或其他任何地方),这样,通过命名不同的最后一个节点,两次编辑将始终在该行上发生冲突(为了确保这是被编辑的,您可以在运行时检查lastNode是否正确)。如果文件是自动生成的,您只需在熟悉的行的注释中添加一个随机数即可。
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17594954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档