2011-08-04 11 views
6

Alguien me está enviando parches generados por "git format-patch".Visor de parches de formato Git?

¿Hay una GUI (en Linux) que pueda abrir estos archivos .patch?

He intentado muchos diff gui pero lo único que hacen es comparar dos archivos/carpetas existentes. Ninguno puede mostrar el parche, excepto kompare que escupe "El diff está mal formado. Algunas líneas no pudieron ser analizadas y no se mostrarán en la vista de diferencias". cada vez.

Respuesta

4

Son muy fáciles de leer, pero si quieres ver todo el contexto del archivo, la mejor manera es aplicar con git-am:

git am foo.patch 
git difftool ORIG_HEAD 

Si te gusta, ya está comprometido . Si no es así:

git reset --hard ORIG_HEAD 
+0

Supongo que esa es la razón por la cual ningún tipo está haciendo lo que estoy pidiendo. Dado que git es tan poderoso, es posible hacer todo en git directamente. –

+1

Creo que haré esto: 1) crear una rama, 2) aplicar todos los parches, 3) revisar con cualquier gui, 4) fusionar la rama o seleccionar algunas confirmaciones. –

+0

Me gustaría agregar que para revisar la diferencia entre confirmaciones, "git-meld" de https://github.com/wmanley/git-meld es increíble. Entonces: 1) Sucursal 2) aplicar parches 3) git meld commit1..commit2 –

-2

Se supone que son texto legible por humanos. Ábrelos en un editor de texto.

Editar: o aplicar el parche en una rama, luego puede usar cualquier herramienta que normalmente use para comparar ramas.

Editar 2: oh, ya pensaste en eso, no importa.

+2

Por supuesto, pero una GUI siempre es agradable tener. Por ejemplo, uno inteligente podría mostrarle que en una línea extralarga qué personaje cambió. Meld te mostrará las dos líneas una al lado de la otra y resaltará el personaje modificado. Ver el parche en un editor de texto no revelará fácilmente este pequeño cambio. –

2

Los .diff y .patch archivos que genera git son simplemente archivos de texto diff.

La mayoría de los editores de texto en Linux deben ser capaces de abrir y resaltar la sintaxis de los archivos diff. Emacs y vim deberían poder verlos sin ningún problema, al igual que gedit, kate o casi cualquier otro editor de texto que destaque la sintaxis.

Si no necesita resaltado de sintaxis, less, cat, o cualquier otra cosa que muestre texto sin formato también debe mostrar los cambios.

+0

Lo mismo ocurre con '.git /.git-stash. <#> -patch' files also ... – johnny

18

He hecho una herramienta para ver de lado a lado diff: https://app.box.com/s/l8rmp281aptq711fqwve

Captura de pantalla: enter image description here

Ahora se actualizó a v0.4 para admitir la lista de archivos.

+2

¿Por qué esta respuesta fue downvoted? ¡Lo encuentro una herramienta útil! –

+0

¡Buena herramienta! Se puede descargar como un único archivo .html, que de acuerdo con [NoScript] (https://noscript.net/) no intenta cargar ningún script externo. ¡Gracias! – akavel

+0

Veo que ha creado 2 cuentas. Consulte http://stackoverflow.com/help/merging-accounts si desea fusionarlos (https://stackoverflow.com/users/4238572/ding-zhaojie, https://stackoverflow.com/users/4238814/ ding-zhaojie) – Matt

Cuestiones relacionadas