0

I have been using visual diff tool (opendiff) with a wrapper script and set the diff.external variable to point to it for some time now. Recently I decided to try delta walker because opendiff just wasn't feature rich enough for my workflow.

I used the deltawalker "one-button" scm integration. The diff.external variable changed appropriately.

But git diff never opened deltawalker, instead it stuck with diff -cc (the old default). I thought this was weird and investigated for some time eventually modifying the delta walker git-diff script to just dump something when invoked. Nothing happened. I then tried switching back to my opendiff wrapper script and still nothing happened. It's like git diff stopped invoking the external scripts all together. Both scripts have 755 permissions. So now I'm stumped.

Has anybody else had this issue? And if so how did you resolve it?

The following is the git config --list output:

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
4

0 回答 0