Git difftool meld 在 Babun 中不起作用



我目前正在使用以下命令设置 Meld difftool 以在 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 "tmpxxx_FILENAME.EXTENSION"

但是,当我从 git bash 运行差异工具时,它可以工作。我的设置有问题吗?

问题是从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)MeldMeld.exe"
git config --global difftool.meld.cmd 'c:/Program Files (x86)/Meld/Meld.exe "$(cygpath -w "$LOCAL")" "$(cygpath -w "$REMOTE")"'

最新更新