我不能让git diff使用opendiff

时间:2011-06-15 05:50:51

标签: git git-diff opendiff

我想使用opendiff作为git diff的默认diff工具。这曾经工作但由于某种原因停止工作。 我正在使用脚本:

echo opendiff $2 $5 > opendiff-git.sh

在.gitconfig中设置:

[diff]
external = ~/opendiff-git.sh

这最近停止了我的工作。有什么问题?

更新: 当我克隆一个新的存储库时,一切正常!奇怪!

3 个答案:

答案 0 :(得分:2)

确保您的opendiff-git.sh文件设置了可执行位:

chmod +x ~/opendiff-git.sh

答案 1 :(得分:2)

当我试图将opendiff设为我的git diff&时,我发现了这个问题。合并工具。 奇怪的是,当我使用echo opendiff $ 2 $ 5> opendiff-git.sh创建一个脚本脚本不包含参数占位符$ 2 $ 5我手动添加它们并开始工作!

此命令

echo opendiff $2 $5 > opendiff-git.sh

导致包含

的opendiff-git.sh文件
opendiff

我手动添加了两个参数占位符$ 2 $ 5

opendiff $2 $5

根据knittl

的建议使shell脚本可执行
chmod +x ~/opendiff-git.sh

它有效!

答案 2 :(得分:1)

您现在可以使用git config指定默认工具。要使用FileMerge,即opendiff,请运行:

git config --global diff.tool opendiff

如果您查看了~/.gitconfig文件,现在应该看到:

[diff]
    tool = opendiff

现在应该可以了。

相关问题