我已经配置了一个自定义的git合并驱动程序,用于pom.xml(Maven)文件。
配置如下:
.gitattributes文件:
pom.xml merge=pommerge
还有.gitconfig文件:
[merge "pommerge"]
name = A custom merge driver for Maven's pom.xml
driver = mergepom.py %O %A %B
这种方法很适合解决这种类型的文件中的冲突。不幸的是,这不能解决所有关于pom.xml文件的问题。只有当主分支中的pom.xml和我们想要合并的分支(“otherbranch”)中的pom.xml都发生了变化时,才会在合并过程中调用此驱动程序。
我们希望在所有情况下都使用我们的合并驱动程序进行pom文件的合并,即使pom文件仅在一个分支中更改并且可以无冲突地合并。
是否有一种方法可以在这种情况下强制使用我们的自定义"pommerge"驱动程序呢?
更新: 我已经尝试了几乎所有可能的方法,但都没有成功。我甚至检查了git源代码并为代码添加了更多日志信息,并安装/编译它以查看是否能够找到我可以使用的特定扩展点。但是,代码很难理解哪些路径会被执行,因此这个努力产生了更多的挫败感而不是解决方案。
我目前唯一可行的方式是在合并之前在两端(分支)修改文件。但这对用户来说不是非常友好。
我仍然希望有人能提供一个聪明的解决方案或提示,帮助我在这个挑战中走得更远一点。
感谢大家的时间!