Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial merge-自动合并某些冲突模式_Mercurial_Merge_Pom.xml - Fatal编程技术网

Mercurial merge-自动合并某些冲突模式

Mercurial merge-自动合并某些冲突模式,mercurial,merge,pom.xml,Mercurial,Merge,Pom.xml,我们将Maven pom.xml文件从一个存储库合并到另一个存储库 pom.xml文件以以下形式列出了一个版本: <version>5.0.17-SNAPSHOT</version> 5.0.17-SNAPSHOT 如果这一行有冲突,我们总是希望使用本地文件版本的冲突。是否有办法自动获取更改的本地文件版本 对于任何其他冲突,我们希望继续使用标准的手动合并过程。当然。查看wiki页面,您将看到类似这样的功能: [merge-patterns] pom.xml = i

我们将Maven pom.xml文件从一个存储库合并到另一个存储库

pom.xml文件以以下形式列出了一个版本:

<version>5.0.17-SNAPSHOT</version>
5.0.17-SNAPSHOT
如果这一行有冲突,我们总是希望使用本地文件版本的冲突。是否有办法自动获取更改的本地文件版本

对于任何其他冲突,我们希望继续使用标准的手动合并过程。

当然。查看wiki页面,您将看到类似这样的功能:

 [merge-patterns]
 pom.xml = internal:local

正确的。但这将适用于整个pom.xml文件。我们只想将其应用于pom.xml文件中的一种冲突-
x.x.x
Ah,我将“任何其他冲突”理解为“任何其他冲突的文件”,您可以轻松编写一个merge-pom.sh脚本,其逻辑如下:如果唯一的冲突是
行,则使用内部:本地,否则启动手动合并工具。这将避免您在只有版本更改的常见情况下看到合并工具。再做一些工作,你就可以让你的脚本一行一行地“选择本地”,只要行是
,然后在已经部分合并的行上启动合并,但是你可能会遇到这种复杂程度的收益递减。我喜欢脚本的想法,在唯一冲突的地方使用internal:local。你有什么样的代码可以做到这一点吗?或者一个文档链接,可以帮助我们编写这样一个脚本?有没有办法找到如何从自定义脚本调用另一个内置合并工具或默认工具?我不确定在哪里能找到它们。或者可以在脚本中使用
hg merge
resolve
本身来执行此操作。似乎只需修改merge3的源代码就可以更简单,以便在匹配中表现出不同的行为。