Force git настраиваемый драйвер слияния с целью слияния файлов pom.xml(maven)

У меня есть настраиваемый драйвер слияния git, настроенный для файлов pom.xml (Maven).

Конфигурация:

Файл .gitattributes:

pom.xml merge=pommerge

И файл .gitconfig:

[merge "pommerge"]
    name = A custom merge driver for Maven pom.xml
    driver = mergepom.py %O %A %B

Это отлично работает для разрешения конфликтов в этом виде файла. К сожалению, это не решает всех или проблем для файлов pom.xml. Этот драйвер вызывается только при слиянии, если и только если pom.xml изменен как в (ветвь, в которой мы называем "w21 > merge otherbranch" ), и ветки, которую мы хотели бы объединить ( "otherbranch" ).

Мы хотим всегда использовать наш драйвер слияния для файлов pom, даже если файл pom изменяется только в 1 ветки и может быть объединен без конфликтов.

Есть ли способ заставить наш пользовательский драйвер "pommerge" в этой ситуации?

Обновление Я пробовал почти все, но без везения. Я даже проверил исходный код git и добавил больше регистрации в код и установил /MAKE 'd, чтобы проверить, могу ли я узнать, есть ли какая-то конкретная точка расширения, которую я мог бы использовать каким-то образом. Но код довольно трудно понять, в каких случаях, какой путь в коде выполняется, поэтому это усилие создало больше усечений, чем решения;)..

Единственный способ заставить его работать, а это не решение, - это изменить файл с обоих концов (ветвей) до слияния. Но это не очень удобно

Я все еще надеюсь, что кто-то придумает гениальное решение или подсказку, которая поможет мне немного улучшить эту проблему.

Спасибо вам всем за ваше время!

Ответ 1

То, что вы хотите, это настраиваемая стратегия слияния, и вы определили драйвер слияния.

Драйвер вызывается только при конфликтах, тогда как стратегия используется в любое время, когда два коммита объединяются.

См. этот ответ для настройки вашего решения:

fooobar.com/info/8198/...