Come faccio a cambiare il formato predefinito diff gitweb a `--color-words`?
Domanda
Voglio gitweb all'uscita lo stesso formato diff come git diff --color-words
. Qualcuno sa come posso fare questo? Ho guardato HTML :: FromANSI ma non sono riuscito a farlo funzionare con git diff --color-words
dalla riga di comando.
Soluzione
Come hai usato HTML :: FromANSI ? Perché funziona per me, usando il seguente comando ha funzionato come previsto
git diff --color-words HEAD^ HEAD |
perl -wle '
use HTML::FromANSI;
my @lines = <STDIN>;
foreach my $line (@lines) {
chomp $line;
print ansi2html($line);
}' > tmp.html
Anche se si desidera che l'uscita utilizzabile, e il testo bianco non appena visibile su sfondo nero, si sarebbe probabilmente necessario configurare HTML :: FromANSI. Quanto sopra è solo scriptlet codice di prova (ANS non in meglio lo stile).
A proposito io non sono sicuro circa la qualità dei HTML :: modulo FromANSI ; non è stato installato (utilizzando cpan
) per me senza la forza (ma potrebbe essere un problema con Term :: :: VT102 Boundless questo modulo richiede).
ansi2html
subroutine hanno problemi con alcune linee (Credo linee con / posteriore carattere incorporato di fine linea, e la linea di vuoto / stringa), producendo gli avvisi Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.
. Ecco perché ho dovuto chomp
linee (e che potrebbe essere il problema che hai avuto con fare HTML :: lavoro FromANSI) .
Anche l'HTML prodotto da questo modulo è abbastanza orrendo, utilizzando tag <font face='...' style ='...'>
obsoleta e deprecato insieme con etichetta <span style='...'>
moderna; Inoltre non vedo la possibilità di utilizzare i CSS invece di stile in linea.