强制git自定义合并驱动程序,用于合并pom.xml(maven)文件

时间:2015-10-29 10:41:21

标签: git maven merge pom.xml

我已经为 pom.xml (Maven)文件配置了自定义git合并驱动程序。

配置:

.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 更改时才会在合并时调用此驱动程序主要分支(因此,我们称之为“git merge otherbranch'”的分支)和我们想要合并的分支(' otherbranch')。

我们希望始终将pom文件的合并驱动程序用于pom文件,即使pom文件只在1个分支中更改,并且可以合并而不会发生冲突。

有没有办法强制我们的定制' pommerge'司机在这种情况下?

更新 我几乎尝试过任何事情,但没有运气。我甚至签出了git源代码,并在代码中添加了更多的日志记录并安装了/ MAKE以确定是否可以找出是否有某个特定的扩展点,我可以以某种方式使用它。 但是代码很难理解在哪种情况下遵循代码中的哪条路径,所以这种努力比解决方案产生了更多的挫折;)..

我可以使它工作的唯一方法,不是解决方案,是在合并之前在两端(分支)更改文件..但这不是非常用户友好

我仍然希望有人提出天才解决方案或线索,这有助于我进一步应对这一挑战。

谢谢大家的时间!

1 个答案:

答案 0 :(得分:0)

您想要的是自定义合并策略,并且您已定义合并驱动程序

仅在冲突时调用驱动程序,而在合并两次提交时使用策略。

有关如何设置解决方案的信息,请参阅此答案:

https://stackoverflow.com/a/23140455/6084013