Инструмент opendiff слияния недоступен как "opendiff"
Что я делаю неправильно? Раньше он работал нормально, но поскольку я установил новый жесткий диск, он больше не работает: (
Инструмент opendiff слияния недоступен как "opendiff"
Что я делаю неправильно? Раньше он работал нормально, но поскольку я установил новый жесткий диск, он больше не работает: (
Вам нужно настроить opendiff как ваш глобальный merge.tool:
# locate xcode utilities
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
# set "opendiff" as the default mergetool globally
git config --global merge.tool opendiff
Если вы получаете Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo
, открытие XCode и принятие лицензии устраняет проблему
Убедитесь, что у вас установлен XCode. (Если вы используете git, то вы, вероятно, используете brew, в этом случае вы, вероятно, уже установили XCode.)
Одноразовое решение - сообщить git, какой инструмент вы хотите использовать:
$ git mergetool -t opendiff
Что касается настройки opendiff в качестве инструмента по умолчанию, вам нужно установить переменную "merge.tool" в конфигурационный файл git.
git поддерживает --dir-diff (-d) для выполнения diff каталога, который хорошо выглядит в FileMerge. Однако есть несколько незначительных проблем с использованием opendiff с --dir-diff. opendiff не имеет предустановленного целевого пресета, и git слишком быстро сбросит временные файлы, чтобы сохранить изменения. Моя работа - использовать немного bash script для вызова FileMerge. Я назвал его gdiff
.
#!/bin/bash
# find top level of git project
dir=$PWD
until [ -e "$dir/.git" ]; do
if [ "$dir" == "/" ]; then
echo "Not a git repository" >&2
exit 1;
fi
dir=`dirname "$dir"`
done
# open fresh FileMerge and wait for termination
open -a FileMerge -n -W --args -left "$1" -right "$2" -merge "$dir"
https://gist.github.com/miner/e73fc98a83a8fe05d9ef000d46d68a9f
Назовите его следующим образом:
git difftool -d -x gdiff