См. the Generating diff text section of the gitattributes
documentation. Однако, чтобы автоматически получить слово diffs всего за *.tex
файлов, вы должны поместить это вместе с дополнительной информацией в другие документы.
Кроме того, по крайней мере, в моей текущей версии мерзавца (2.7.4), встроенный в регулярном выражении для текс файлов сломан:
так что я должен работать вокруг, что еще сложнее ,
Собираем это все вместе:
$ cat .gitattributes
*.tex diff=tex
$ git config --get diff.tex.wordregex
\\[a-zA-Z]+|[{}]|\\.|[^\{}[:space:]]+
(это регулярное выражение прямо из документации gitattributes), плюс еще один элемент конфигурации и один водитель:
$ git config --get diff.tex.command
git-word-diff-driver
$ cat ~/scripts/git-word-diff-driver
#! /bin/sh
#
# args are:
# path old-file old-hex old-mode new-file new-hex new-mode
git diff --word-diff $2 $5
exit 0
(Этот сценарий может быть улучшен, но он показывает общую идею. exit 0
требуется, так как git diff
имеет ненулевой выход, если файлы отличаются, как они склонны. К счастью, нет необходимости защищать от бесконечной рекурсии с git diff --word-diff path1path2
не вызывает повторного вызова драйвера gitattributes.)