Siehe the Generating diff text section of the gitattributes
documentation. Um jedoch automatisch Differenzen für *.tex
Dateien zu erhalten, müssen Sie dies zusammen mit zusätzlichen Informationen dort und in einigen anderen Dokumenten einfügen.
auch, zumindest in meiner aktuellen git Version (2.7.4), die eingebaute in regex für tex-Dateien ist gebrochen:
so muss ich arbeiten, um das noch härter .
Setzt man diese alle zusammen:
$ cat .gitattributes
*.tex diff=tex
$ git config --get diff.tex.wordregex
\\[a-zA-Z]+|[{}]|\\.|[^\{}[:space:]]+
(diese regex ist direkt aus der gitattributes Dokumentation), plus eine weitere Konfigurationselement und ein Treiber:
$ 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
(Dieses Skript verbessert werden könnte, aber es zeigt die allgemeine Idee.Der exit 0
ist erforderlich, da git diff
einenNull-Exit hat, wenn sich die Dateien unterscheiden, da sie dazu tendieren.Glücklicherweise gibt es keinen Schutz vor endloser Rekursion seit git diff --word-diff path1path2
ruft den gitattributes-Treiber nicht erneut auf.)