ho trovato, la linea si chiama intestazione pezzo e the documentation dice come personalizzarlo:
Definizione di un pezzo-header personalizzato
Ogni gruppo di modifiche (chiamato "pezzo") nella l'output testuale è preceduto da una riga del modulo:
@@ -k,l +n,m @@ TEXT
Questo è chiamato intestazione di hunk. La porzione "TESTO" è per impostazione predefinita una riga che inizia con un alfabeto, un trattino basso o un segno di dollaro; questo corrisponde a quello utilizzato dall'uscita GNU diff -p
. Questa selezione predefinita tuttavia non è adatta per alcuni contenuti ed è possibile utilizzare un modello personalizzato per effettuare una selezione.
Per prima cosa, in .gitattributes, è necessario assegnare l'attributo diff
per i percorsi.
*.tex diff=tex
Poi, si potrebbe definire una configurazione "diff.tex.xfuncname" per specificare un'espressione regolare che corrisponde a una linea che si vuole apparire come l'intestazione pezzo "TEXT". Aggiungere una sezione al vostro file di $GIT_DIR/config
(o $HOME/.gitconfig
file) in questo modo:
[diff "tex"]
xfuncname = "^(\\\\(sub)*section\\{.*)$"
Nota. Un singolo livello di backslash viene mangiato dal parser del file di configurazione, quindi è necessario raddoppiare i backslash; il modello sopra seleziona una linea che inizia con una barra rovesciata e zero o più occorrenze di sub seguito da una sezione seguita da parentesi aperta, alla fine della riga.
sei riuscito ad ottenere una buona configurazione? Ho provato * .cs diff = csharp, ma ho ancora spazi dei nomi. diff = java funziona meglio però .. – elmarco
Sì, funziona per me, hai una versione abbastanza recente di git? diff = csharp dovrebbe funzionare dal 1.7.3. – svick
1.7.10 qui, da debian unstable, proverò a scavare più tardi, per ora java è ok :) – elmarco