Ich habe es gefunden, wird die Leitung großes Stück Header genannt und the documentation sagt, wie es gestalten:
eine benutzerdefinierte Hunk-header
Jede Gruppe von Änderungen definieren in der (ein „großes Stück“ genannt) Die Text-Diff-Ausgabe wird mit einer Zeile des Formulars vorangestellt:
@@ -k,l +n,m @@ TEXT
Dies wird als Hunk-Header bezeichnet. Der TEXT-Teil ist standardmäßig eine Zeile, die mit einem Alphabet, einem Unterstrich oder einem Dollarzeichen beginnt; Dies entspricht der von GNU diff -p
ausgegebenen Ausgabe. Diese Standardauswahl ist jedoch für einige Inhalte nicht geeignet, und Sie können ein benutzerdefiniertes Muster verwenden, um eine Auswahl zu treffen.
Zunächst würden Sie in .gitattributes das Attribut diff
für Pfade zuweisen.
*.tex diff=tex
Dann würden Sie eine „diff.tex.xfuncname“ Konfiguration definieren einen regulären Ausdruck angeben, die eine Linie übereinstimmt, die Sie würden als großes Stück Header „TEXT“ angezeigt wird. Fügen Sie einen Abschnitt in Ihrer $GIT_DIR/config
Datei (oder $HOME/.gitconfig
Datei) wie folgt aus:
[diff "tex"]
xfuncname = "^(\\\\(sub)*section\\{.*)$"
Hinweis. Eine einzelne Ebene von umgekehrten Schrägstrichen wird vom Konfigurationsdateiparser aufgefressen, sodass Sie die umgekehrten Schrägstriche verdoppeln müssen. Das obige Muster wählt eine Zeile aus, die mit einem umgekehrten Schrägstrich beginnt, und null oder mehr Vorkommen von sub, gefolgt von Abschnitt gefolgt von offener Klammer, bis zum Ende der Zeile.
Haben Sie eine gute Konfiguration erreicht? Ich habe versucht * .cs diff = csharp, aber ich bekomme immer noch Namespaces. diff = java funktioniert besser aber .. – elmarco
Ja, es funktioniert für mich, haben Sie eine kürzlich genug Version von Git? diff = csharp sollte seit 1.7.3 funktionieren. – svick
1.7.10 hier, von Debian instabil, werde ich versuchen, später zu graben, für jetzt ist Java in Ordnung :) – elmarco