Принудительный драйвер слияния git с целью объединения файлов pom.xml (maven)
У меня есть пользовательский драйвер git merge, настроенный для файлов 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 изменяется в основной ветви (то есть в ветви, в которой мы называем 'git merge) Другой филиал ") и филиал, который мы хотели бы объединить (" Другой филиал ").
Мы хотели бы всегда использовать наш драйвер слияния для файлов pom, даже если файл pom изменяется только в 1 ветви и может быть объединен без конфликтов.
Есть ли способ заставить наш собственный драйвер pommerge в этой ситуации?
Обновление я пробовал почти все, но без везения. Я даже извлек исходный код git, добавил к нему больше логов и установил /MAKE'd его, чтобы проверить, могу ли я узнать, есть ли конкретная точка расширения, которую я мог бы использовать каким-либо образом. Но в коде довольно сложно понять, в каких случаях следуют пути в коде, поэтому это усилие вызвало больше разочарований, чем решений;)..
Единственный способ заставить его работать, что не является решением, - это изменить файл на обоих концах (ветвях) перед объединением. Но это не очень удобно для пользователя
Я все еще надеюсь, что кто-то придумает гениальное решение или подсказку, которые помогут мне продвинуться немного дальше в этой задаче.
Спасибо всем за ваше время!
1 ответ
Вам нужна пользовательская стратегия слияния, и вы определили драйвер слияния.
Драйвер вызывается только при конфликтах, а стратегия используется каждый раз, когда объединяются две фиксации.
Посмотрите этот ответ, чтобы узнать, как настроить свое решение:
/questions/31429539/git-kak-dobavit-sobstvennuyu-strategiyu-sliyaniya/31429543#31429543