Question

Je veux gitweb à la sortie le même format diff que git diff --color-words. Est-ce que quelqu'un sait comment je peux le faire? Je regardais HTML :: FromANSI mais n'a pas pu le faire fonctionner avec git diff --color-words de la ligne de commande.

Était-ce utile?

La solution

Comment avez-vous utilisé HTML :: FromANSI ? Parce que cela fonctionne pour moi, en utilisant la commande suivante a fonctionné comme prévu

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

Bien que si vous voulez une sortie utilisable, et non à peine visible du texte blanc sur fond noir, vous auriez probablement besoin de configurer HTML :: FromANSI. Le scriptlet ci-dessus est la preuve que du code d'exploitation (ans pas dans le meilleur style).


BTW Je ne suis pas sûr de la qualité de HTML :: Module FromANSI; il n'a pas été installé (en utilisant cpan) pour moi sans force (mais il pourrait être un problème Term :: VT102 :: Boundless ce module nécessite).

sous-programme de ansi2html ont des problèmes avec quelques lignes (je pense que les lignes de caractère embedded / arrière en fin de ligne, et la ligne / chaîne vide), produisant avertissement Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.. C'est la raison pour laquelle je devais chomp lignes (et ce pourrait être le problème que vous aviez avec HTML :: faire le travail FromANSI) .

En outre le code HTML produit par ce module est assez horrible, en utilisant tag <font face='...' style ='...'> obsolète et désapprouvée avec étiquette <span style='...'> moderne; aussi je ne vois pas la possibilité d'utiliser à la place CSS de style en ligne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top