У меня есть WinMerge, интегрированный с git в качестве инструмента сравнения и инструмента слияния.
Дело в том, что когда я работаю: git difftool SomeBranch..HEAD
Я открываю WinMerge правильно, правильно отображая левую и правую боковые панели, но после разрешения различий я сохраняю и выхожу, но файлы не затрагиваются. Я заметил, что когда WinMerge открывается, я вижу, что все мои сравнения выполняются с временными файлами, которые находятся в AppData. Вот как выглядят верхние панели различий (обратите внимание, что пути к папкам — это AppData как для левой, так и для правой стороны):
Я не могу заставить WinMerge действительно правильно открывать difftool и заставлять меня изменять/разрешать мои diff и действительно сохранять изменения в реальных файлах - Есть подсказки, как это исправить?
Примечание. При использовании "mergetool" эта проблема не возникает (только в difftool).
Примечание. При сопоставлении с изменениями в моем текущем каталоге следующим образом: git difftool - проблема не возникает (Winmerge представляет реальный файл на правой панели, а не временный файл)
Вот мои настройки файла .gitconfig:
[mergetool]
prompt = false
keepBackup = false
keepTemporaries = false
[merge]
tool = winmerge
[mergetool "winmerge"]
name = WinMerge
trustExitCode = true
cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e -dl \"Local\" -dr \"Remote\" $LOCAL $REMOTE
[diff]
tool = winmerge
[difftool "winmerge"]
name = WinMerge
trustExitCode = true
cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
Другие сведения:
Версия WinMerge: 2.16.6.0
ОС: Виндовс 10
Git-версия: 2.24.1.windows.2