我想使用opendiff作为git diff的默认差异工具。这曾经可以工作,但是由于某种原因停止了工作。
我正在使用脚本:
echo opendiff $2 $5 > opendiff-git.sh
在.gitconfig中设置的:
[diff]
external = ~/opendiff-git.sh
最近这对我停止了工作。怎么了?
更新:
当我克隆一个新的存储库时,一切正常!奇怪!
最佳答案
我在尝试将opendiff设置为git diff&merge工具时发现了这个问题。
奇怪的是,当我使用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
而且有效!