Git Difftool Meld не работает в Babun
В настоящее время я настраиваю difftool Meld для работы в Babun, используя следующие команды:
git config --global diff.tool meld
git config --global difftool.prompt false
git config --global difftool.meld.path "/cygdrive/c/Program\ Files\ \(x86\)/Meld/Meld.exe"
git config --global difftool.meld.cmd '/cygdrive/c/Program\ Files\ \(x86\)/Meld/Meld.exe $LOCAL $REMOTE'
Это работает, и Meld открывается с двумя файлами, когда я запускаю
git difftool HEAD HEAD^
Тем не менее, второй файл (с пульта) не открывается, и я получаю
There was a problem opening the file "\tmp\xxx_FILENAME.EXTENSION"
Однако, когда я запускаю difftool из git bash, это работает. Что-то не так в моей настройке?
1 ответ
Решение
Проблема была в доступе к временным файлам Cygwin. Потому что Cygwin имеет свои собственные диски, которые мне нужно было использовать cygpath
отформатировать пути к файлам. Полная настройка ниже:
git config --global diff.tool meld
git config --global difftool.prompt false
git config --global difftool.meld.path "c:\Program Files (x86)\Meld\Meld.exe"
git config --global difftool.meld.cmd 'c:/Program\ Files\ \(x86\)/Meld/Meld.exe "$(cygpath -w "$LOCAL")" "$(cygpath -w "$REMOTE")"'