【问题标题】:Git Difftool Meld Doesn't Work in BabunGit Difftool Meld 在 Babun 中不起作用
【发布时间】:2017-02-02 11:52:08
【问题描述】:

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

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

【问题讨论】:

    标签: git cygwin meld git-difftool babun


    【解决方案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")"'
    

    【讨论】:

    • 如果您在 Windows 10 上使用它,那么 git config --global difftool.meld.cmd '/mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe "$LOCAL" C:\\Users\\james.collerton\\AppData\\Local\\lxss\\rootfs\\"$REMOTE"' 可以工作。
    猜你喜欢
    • 2020-12-27
    • 2017-02-14
    • 2016-03-11
    • 2017-09-05
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多