mac上的'git difftool -d` get'文件不存在'错误

时间:2013-12-10 10:10:46

标签: macos git filemerge

我正在尝试将命令git difftool -d用于文件夹diff。

命令get diff list successfully(在FileMerge.app中显示)。但是当我尝试打开每个diff文件时。我收到file does not exist错误。

输出日志:

$ git difftool -d 
merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld kompare gvimdiff diffuse ecmerge p4merge araxis bc3 codecompare emerge vimdiff

图片:

 ng image

我在mac OS X 10.9上使用git版本1.8.1.1。 感谢。

2 个答案:

答案 0 :(得分:3)

问题是opendiff命令返回,导致difftool删除临时目录和您要比较的所有文件。经过大量的搜索,我发现了这一点,基本上你必须保持该opendiff运行,直到FileMerge退出。 将您的git配置更改为:

[diff]
    tool = opendiff
[difftool]
    prompt = false
[difftool "opendiff"]
    cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | cat

在这里找到答案: https://gist.github.com/bkeating/329690

答案 1 :(得分:1)

通过输出更少或使用睡眠来防止opendiff退出

请将以下行放入.gitconfig

[difftool "opendiff"]
        cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | less