В соответствии с doc и различными ответами здесь git difftool будет вызывать указанный исполняемый файл (обычно скрипт оболочки) с переменными окружения LOCAL и REMOTE, установленными в пути к файлам. Но когда я пытаюсь, LOCAL и REMOTE не установлены. Я пробовал следующий тест:
git config --global diff.tool mytest
git config --global difftool.mytest.cmd mytest.sh
git config --global difftool.prompt false
с mytest.sh:
#!/bin/sh
echo "LOCAL:$LOCAL REMOTE:$REMOTE"
вызывая:
git difftool --tool mytest <commitid> -- <path-to-file>
вывод:
LOCAL: REMOTE:
Есть предложения?