Git diff, похоже, игнорирует переменную diff.external
Я использовал визуальный инструмент сравнения (opendiff) со скриптом-оберткой и установил переменную diff.external, чтобы указывать на нее в течение некоторого времени. Недавно я решил попробовать Delta Walker, потому что opendiff просто не был достаточно богат для моего рабочего процесса.
Я использовал интеграцию scm deltawalker "одной кнопкой". Переменная diff.external изменилась соответствующим образом.
Но git diff никогда не открывал deltawalker, вместо этого он придерживался diff -cc (по умолчанию). Я подумал, что это странно, и какое-то время исследовал, в конце концов, изменил скрипт git-diff для delta walker, чтобы просто вызывать что-то при вызове. Ничего не случилось. Затем я попытался вернуться к своему сценарию оболочки opendiff, но ничего не произошло. Как будто git diff перестал вызывать внешние скрипты все вместе. Оба сценария имеют 755 разрешений. Так что теперь я в тупике.
У кого-нибудь еще была эта проблема? И если да, то как вы решили это?
Ниже приведен вывод git config --list:
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