【发布时间】:2026-01-20 11:00:02
【问题描述】:
我们将 Maven pom.xml 文件从一个存储库合并到另一个存储库。
pom.xml 文件以这种形式列出了一个版本:
<version>5.0.17-SNAPSHOT</version>
如果我们在这一行有冲突,我们总是希望使用本地文件的冲突版本。有没有办法自动获取更改的本地文件版本?
对于任何其他冲突,我们希望继续使用标准的手动合并流程。
【问题讨论】:
我们将 Maven pom.xml 文件从一个存储库合并到另一个存储库。
pom.xml 文件以这种形式列出了一个版本:
<version>5.0.17-SNAPSHOT</version>
如果我们在这一行有冲突,我们总是希望使用本地文件的冲突版本。有没有办法自动获取更改的本地文件版本?
对于任何其他冲突,我们希望继续使用标准的手动合并流程。
【问题讨论】:
当然。查看Merge Tool Configuration wiki 页面,您会发现应该这样做:
[merge-patterns]
pom.xml = internal:local
【讨论】:
<version>x.x.x</version>
<version> 行,则使用 internal:local,否则启动手动合并工具。当唯一的更改是版本时,这将使您不会在常见情况下看到合并工具。通过更多的工作,您可以让您的脚本通过并在行是 <version> 时逐行“选择本地”,然后然后在已经部分合并的行上启动合并,但你是这种复杂程度可能会导致收益递减。
hg merge 或resolve 本身来执行此操作。似乎只修改merge3的源代码以在比赛中表现不同似乎更简单。