Использование OS X FileMerge/opendiff для просмотра различий git, загрузка всех файлов одновременно в представлении каталога
Мы являемся версией, контролирующей наш проект с помощью git. Разрабатывая под OS X, мы хотели бы использовать приложение FileMerge, поставляемое с инструментами разработки, для отображения сгенерированных git различий:
Если мы правильно поняли, можно настроить его вызов через git difftool
,
Следуя советам из разных источников, мы добавили это в наш глобальный файл конфигурации git:
[diff]
tool = opendiff
Это хорошо работает для различий "файл за файлом". Но мы предпочитаем, чтобы различие в каталогах загружалось сразу в инструменте, для которого команда git difftool --dir-diff
,
При вызове команды directory diff, список разных файлов создается правильно, но если мы на самом деле пытаемся открыть один файл, обе стороны показывают, что файлы ошибок не существуют. По-видимому, это связано с тем, что opendiff завершается почти сразу же, поэтому git удаляет временные папки, в которых выполнялось сравнение.
После этого ответа мы добавили эти строки в наш глобальный файл конфигурации git:
[difftool "opendiff"]
cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | cat
Но это не решает проблему файла, не существует (и opendiff по- прежнему возвращает почти сразу).
Какова будет правильная конфигурация для этого варианта использования?
1 ответ
Проблема в том, что Filemerge отфильтровывает .git
каталог, в котором git хранит каталог, использованный в выводе --dir-diff
,
В Filemerge перейдите в "Настройки"> "Фильтры" и удалите .git
от Files to ignore
и это должно работать.