web-dev-qa-db-fra.com

programme diff en html (diff2html)

Je cherche un programme "diff to html", qui générerait une page html statique à partir d'un fichier diff/patch donné.

J'ai fait une recherche sur Google bien sûr, mais à part certains scripts, j'ai trouvé qu'il n'y avait pas de "vrai projet" (par exemple, aucun paquet dans Debian/Ubuntu).

Ai-je raté quelque chose? Pouvez-vous recommander quelque chose?

52
blueyed

Vous pouvez utiliser diff2html.py qui est capable de créer un diff côte à côte dans une page html statique, à partir d'une entrée diff unifiée. Le script est écrit en python.

cat foo.diff | python diff2html.py > foo.html
27
zer0

pygments a une coloration syntaxique pour diff (et pour beaucoup d'autres langues), et peut être utilisé comme une bibliothèque ou un programme en ligne de commande. Est-ce le genre de chose que vous recherchez? Sinon, veuillez clarifier la question ...

24
puetzk
9
bithead

que diriez-vous Text-Diff-HTML , difflib.HtmlDiff , CSDiff ?

9
ax.

Il y a aussi 2html dans Vim, qui fonctionne très bien, et il est intégré: il prend un fichier que Vim sait comment mettre en évidence sa syntaxe, et crée un HTML avec la mise en forme correcte. Pour l'utiliser, ouvrez simplement le fichier voulu avec Vim et sourcez le script 2html. Il ouvrira le fichier converti dans un nouveau tampon, qui peut être enregistré. Ici:

vim example.diff

puis à Vim,

:so /usr/share/vim/vim72/syntax/2html.vim
:wqa
4
Daniel Hershcovich

Le meilleur que j'ai trouvé qui produit de jolies différences côte à côte est ce script:

http://tools.ietf.org/tools/rfcdiff/

Bien qu'il soit conçu pour être utilisé sur les RFC, il fonctionne avec n'importe quel fichier texte.

Ce projet a également une sortie Nice, mais je ne sais pas s'il peut être utilisé sans Subversion: http://code.google.com/p/coderev/

3
Andy Longwill

J'utilise htmlize dans Emacs. Ne vient pas avec Emacs et suppose que vous utilisez Emacs. Repose sur la coloration syntaxique du mode Diff d'Emacs. Seulement bon pour faire un fichier à la fois. Fait la bonne chose pour moi.

3
ashawley

J'ai trouvé coderev , la démo a l'air sympa

3
ren