2009-04-01 16 views
7

Tengo un archivo diff unificado (digamos my_diff.diff), que contiene la comparación de varios archivos de un proyecto.Viendo el diff unificado con MELD/vimdiff otras herramientas

¿Cuál sería la mejor manera de revisar todos los cambios de código en un bonito formato visual, por ejemplo, utilizando MELD o vimdiff?

he dado cuenta de la forma en cómo hacerlo para un solo archivo diff (es decir. Que contiene la comparación de sólo dos archivos). Sería algo así como:

patch -o /tmp/temp_file -i my_diff.diff ./target_file.ext 
gvimdiff /tmp/temp_file ./target_file.ext 

que esencialmente se aplica el parche, pero almacena el resultado en un archivo temporal, y luego compara ese archivo a la original.

También encontré filterdiff utilidad, que puede extraer porciones de segmentos de diff unificados relevantes para un archivo. Potencialmente se puede usar con el ejemplo de código anterior en algún tipo de scripting de shell de hackeo, en el que no estoy tan avanzado.

Me prever el proceso ocurre de esa manera sin embargo:

  1. diff unificado Analizar en busca de nombres de archivos modificados
  2. Para cada nombre de archivo, extraer la parte diff
  3. Para cada porción, secuencia de comandos ejecutada citado en el comienzo de la pregunta.

¿Hay alguien con habilidades de secuencias de comandos shell? :)

Un

+1

He publicado una pregunta similar antes, pero no estaba satisfecho con las soluciones. Quiero poder ver un archivo diff que contenga los diffs de muchos archivos usando vimdiff de esta manera: http://codestriker.sourceforge.net/cgi-bin/codestriker.pl?topic=7759043&action=view&mode=2&fview=-1 – user14437

Respuesta

1

This answer parecería aplicar.

Además, la salida diff navigator

+0

Parece que diff navigator solo proporciona comandos para omitir dentro de un parche, no para mostrar las consecuencias de un parche de varios archivos. diff_navigator suena como el modo Diff para Emacs. – ashawley

+0

La respuesta citada desafortunadamente no funciona con el archivo diff que contiene la comparación de más de un archivo – Art

0

Si su búsqueda de una solución vim directorio de ancho, después de aplicar el parche a un directorio temporal que podría revisar el directorio de ancho con el plugin DirDiff.

http://www.vim.org/scripts/script.php?script_id=102

que utilizar este plugin mucho, es genial.

para automatizar la tarea de parcheo y luego abrir la vista diff acaba de escribir una macro

Cuestiones relacionadas