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/...