Ошибка '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
Другие вопросы по тегам