Я использую msys Git для управления исходным кодом на компьютере с Windows и пытаюсь выяснить, как заставить мой инструмент слияния WinMerge работать с Git.
Я следовал инструкциям в этом блоге в меру своих возможностей, так как это самое близкое, что я нашел к тому, что я пытаюсь сделать. В основном то, что я сделал, было:
Измените мой .gitconfig
файл, включив в него следующее:
[merge]
tool = winmerge
[mergetool "winmerge"]
cmd = \"C:\\Program Files (x86)\\WinMerge\\WinMergeU.exe\" "$PWD/$LOCAL" "$PWD/$REMOTE" "$PWD/$MERGED"
trustExitCode = false
keepBackup = false
Это почти работает. Когда я пытаюсь запустить инструмент слияния из Git, WinMerge выдает мне сообщение о том, что он не может найти пути к файлам, что имеет смысл, поскольку пути, которые он ищет:
C:\MY\WORKING\DIRECTORY\-e
C:\MY\WORKING\DIRECTORY\-ub
Похоже, что Git передает опции в инструмент слияния вместо локальных и удаленных имен файлов, которые я ожидал бы передать, если бы все работало правильно.
Я искал в Интернете документацию по слиянию Git, но, похоже, не могу найти ничего, связанного с тем, что я пытаюсь сделать. Я предполагаю, что решение будет одним из следующих:
- Измените переменные
$LOCAL
& $REMOTE
на правильные значения, предполагая, что $LOCAL
& $REMOTE
неверны.
- Напишите скрипт
.bat
для вызова WinMergeU и обработайте аргументы, которые Git отправляет инструменту слияния, в рамках логики моего .bat
скрипта.