Ошибка 'git difftool -d` get 'file is not 'на Mac
Я пытаюсь использовать команду git difftool -d
для папки diff.
Команда успешно получает список различий (отображается в FileMerge.app). Но когда я пытаюсь открыть каждый файл различий. я получил file does not exist
ошибка.
Выходной журнал:
$ git difftool -d
merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld kompare gvimdiff diffuse ecmerge p4merge araxis bc3 codecompare emerge vimdiff
Образ:
Я использую git версии 1.8.1.1 на Mac OS X 10.9. Благодарю.
2 ответа
Проблема заключается в возврате команды opendiff, которая заставляет difftool удалить временный каталог и все сравниваемые файлы. После долгих поисков я обнаружил, что в основном вы должны держать этот opendiff включенным, пока FileMerge не закроется. измените ваш git config на:
[diff]
tool = opendiff
[difftool]
prompt = false
[difftool "opendiff"]
cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | cat
нашел ответ здесь: https://gist.github.com/bkeating/329690
Предотвратить выход opendiff, выводя на less или используя sleep
Например, поместите следующую строку в.gitconfig
[difftool "opendiff"]
cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | less