Git Diff Indent/Pretty Print/ Украсить перед Diff

Есть ли способ сделать Git indent/ beautify / довольно распечатать две версии исходных файлов C++, прежде чем их разложить?

Я не хочу, чтобы Git показывал мне множество изменений, внесенных после того, как кто-то автоматически отформатировал код.

Пример использования: я ударил git difftool --indent-before-diffing path/to/file и получить изменения после оригинальной версии path/to/file и модифицированная версия path/to/file были с отступом.

1 ответ

Решение

Если вы можете найти приложение, которое делает отступ для вас, вы можете использовать метод, описанный здесь для файлов odt:

Добавьте следующую строку в ваш файл.gitattributes:

*.odt diff=odt

Теперь настройте odt diff-фильтр в.git/config:

[diff "odt"]
    binary = true
    textconv = /usr/local/bin/odt-to-txt

Так что для файлов C++ это будет примерно так:

*.cpp diff=cpp

И в.git/config:

[diff "cpp"]
    binary = true
    textconv = /path/to/indenter

Как указано в комментариях, GNU Indent может использоваться для отступа.

Другие вопросы по тегам