Macos Git diff似乎忽略了diff.external变量

Macos Git diff似乎忽略了diff.external变量,macos,git,git-diff,opendiff,deltawalker,Macos,Git,Git Diff,Opendiff,Deltawalker,一段时间以来,我一直在使用VisualDiff工具(opendiff)和包装器脚本,并将diff.external变量设置为指向它。最近,我决定尝试delta walker,因为opendiff的功能对于我的工作流程来说不够丰富 我使用了deltawalker“一键式”scm集成。差异外部变量已适当更改 但是git diff从未打开deltawalker,而是使用diff-cc(旧的默认设置)。我认为这很奇怪,并进行了一段时间的研究,最终修改了delta-walker-git-diff脚本,以便

一段时间以来,我一直在使用VisualDiff工具(opendiff)和包装器脚本,并将diff.external变量设置为指向它。最近,我决定尝试delta walker,因为opendiff的功能对于我的工作流程来说不够丰富

我使用了deltawalker“一键式”scm集成。差异外部变量已适当更改

但是git diff从未打开deltawalker,而是使用diff-cc(旧的默认设置)。我认为这很奇怪,并进行了一段时间的研究,最终修改了delta-walker-git-diff脚本,以便在调用时转储一些内容。什么也没发生。然后我尝试切换回我的opendiff包装器脚本,但仍然没有发生任何事情。就像git diff停止同时调用外部脚本一样。两个脚本都有755个权限。所以现在我被难住了

还有其他人有这个问题吗?如果是,你是如何解决的

以下是git配置--列表输出:

branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.urw.remote=origin
branch.urw.merge=refs/heads/urw
branch.make_dev.remote=origin
branch.make_dev.merge=refs/heads/make_dev
core.editor=/usr/bin/vim
core.excludesfile=/Users/un/.gitignore_global
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
merge.tool=deltawalker
merge.stat=true
mergetool.deltawalker.cmd='/Applications/DeltaWalker.app/Contents/MacOS/git-merge' $LOCAL $REMOTE $BASE $MERGED
diff.external=/Users/un/scripts/opendiff-git.sh
diff.mnemonicprefix=true
difftool.opendiff.cmd=/Users/un/scripts/opendiff-git.sh
difftool.mydeltawalker.cmd=/Applications/DeltaWalker.app/Contents/MacOS/git-diff $LOCAL $REMOTE
color.ui=auto
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true

我看不出在您列出的输出中diff.external是如何设置为deltawalker的?之前是这样的。这里的要点是,无论我如何设置diff.external,git diff都不会调用该工具。啊,我明白了。但无论如何:我很确定您实际上在寻找
git difftool
及其设置。