Я не могу сделать git diff использовать opendiff - PullRequest
7 голосов
/ 15 июня 2011

Я хочу использовать opendiff как инструмент сравнения по умолчанию для git diff.Раньше это работало, но по какой-то причине перестало работать.Я использую скрипт:

echo opendiff $2 $5 > opendiff-git.sh

, который установлен в .gitconfig:

[diff]
external = ~/opendiff-git.sh

Это перестало работать для меня в последнее время.Что не так?

Обновление: когда я клонировал новый репозиторий, все работало нормально!Странно!

Ответы [ 3 ]

2 голосов
/ 28 марта 2012

Я нашел этот вопрос, когда пытался установить 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

chmod +x ~/opendiff-git.sh

И это работает!

2 голосов
/ 15 июня 2011

убедитесь, что в вашем opendiff-git.sh файле установлены исполняемые биты:

chmod +x ~/opendiff-git.sh
1 голос
/ 24 октября 2013

Теперь вы можете указать инструмент по умолчанию, используя git config.Чтобы использовать FileMerge, то есть opendiff, запустите:

git config --global diff.tool opendiff

. Если вы просматриваете файл ~/.gitconfig, вы должны увидеть:

[diff]
    tool = opendiff

Теперь он должен работать.

...