software script online diffnow comparar comparador codigo archivos html diff

script - programa diff to html(diff2html)



Estoy buscando un programa "diff to html", que generaría una página html estática a partir de un archivo diff / patch determinado.

He buscado en Google, por supuesto, pero aparte de algunos scripts que he encontrado, no hay un "proyecto real" (por ejemplo, ningún paquete en Debian / Ubuntu).

¿Me he perdido algo? ¿Puedes recomendar algo?


¿Has probado http://prettydiff.com/ ya que ignora las diferencias en espacios en blanco y comentarios?

[Descargo de responsabilidad: este es mi sitio]


Algo como:

vim test.diff -c TOhtml -c ":saveas test.html" -c ":q" -c ":q"

funciona bien, y puede cambiar el esquema de color del diff cambiando la combinación de colores en vi.



Lo mejor que he encontrado que produce agradables diferencias de lado a lado es este guión:

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

Aunque está diseñado para ser utilizado en RFC, funciona con cualquier archivo de texto.

Este proyecto también tiene buenos resultados, pero no estoy seguro si se puede usar sin subversión: http://code.google.com/p/coderev/


Puede usar diff2html.py que puede crear un diff lado a lado en una página html estática, desde una entrada de diff unificada. El script está escrito en python.

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


También hay 2 2html en Vim, que funciona muy bien, y está integrado: lleva un archivo que Vim sabe cómo resaltar su sintaxis y crea un HTML con el formato correcto. Para usarlo, simplemente abra el archivo deseado con Vim y obtenga el script 2html. Abrirá el archivo convertido en un nuevo búfer, que se puede guardar. Aquí:

vim example.diff

y luego en Vim,

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


Yo uso htmlize en Emacs. No viene con Emacs, y supone que estás usando Emacs. Se basa en el resaltado de sintaxis del modo Diff de Emacs. Solo es bueno para hacer un archivo a la vez. Hace lo correcto para mi


pygments tiene resaltado de sintaxis para diff (y para muchos otros lenguajes), y puede usarse como una biblioteca o un programa de línea de comandos. ¿Es ese el tipo de cosa que estás buscando? Si no, aclare la pregunta ...