¿Cómo visualizar o formatear un archivo diff / patch? [cerrado]


Tengo un archivo de parche (unified diff), como la salida de svn diff, git diff, o diff -u .... Quiero revisarlo, pero el formato diff unificado, especialmente con muchos archivos y cambios, es difícil para mis ojos.

¿Cómo puedo obtener una vista diff bien formateada del archivo de parche? No tengo los archivos en sí, solo el diff, por lo que no puedo usar todas las herramientas de diff normales.

Hasta ahora mis 2 mejores tácticas son:

  1. Cargue el diff en gvim y obtenga alguna sintaxis resaltado
  2. Pega el diff en una wiki de Trac en una sección con formato #!diff y haz clic en "preview" - esto crea una vista de diff impresionante:
{{{
#!diff
<unified diff here>
}}}

¿Hay herramientas de escritorio que puedan hacer esto? Hay una manera de persuadir a kdiff3 / diffmerge / p4merge / etc. para visualizar el archivo de parche? Algo que replica la visualización de Trac también sería genial.

EDITAR: puntos de bonificación para el soporte de Windows también, preferiblemente con un instalador o una instalación sin dolor.

Author: orip, 2010-02-26

3 answers

Intenta usar kompare - http://www.caffeinated.me.uk/kompare / . Debería hacer el trabajo.

EDITAR: También, echa un vistazo a la lista de herramientas de comparación de archivos aquí: http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools - echa un vistazo a la columna "Vista previa del parche" en una de las tablas.

 25
Author: pako,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-25 22:18:03

Echa un vistazo a idiff

 5
Author: pixelbeat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-11 14:06:29

No es una solución de Windows, pero si está en Mac OS X, PatchViewer ( http://appledeveloper.com.au/products/patchviewer / ) hará lo que buscas.

(Descargo de responsabilidad: Soy el autor de PatchViewer.)

 4
Author: user2067021,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-22 22:01:50