2011-03-21 9 views
41

Esto es casi exactamente un duplicado de Examining a single changeset in Mercurial, y sin duda un duplicado de otra pregunta que no puedo encontrar en SO a través de Google solo.Mercurial: diffs en un conjunto de cambios particular?

estoy mirando hacia atrás a través de un repo Mercurial, y quiero ver lo que ha cambiado exactamente entre dos revisiones (digamos 2580 y 2581):

hg log -v -r 2581 

me da todos los archivos que cambiaron.

¿Cómo puedo ver también el diffs de estos archivos?

Gracias.

+0

acaba de cambiar el '' -V' a un -p' - ver mi respuesta a continuación. –

+0

Relacionados: http://stackoverflow.com/questions/1312633/examining-a-changeset-in-hg –

Respuesta

63

Revisión 2580 no es necessasrily la revisión de los padres de 2581. Es fácil comprobar si se trata, por supuesto, pero más fácil aún no se acaba de hacer:

hg log -p -r 2581 

Eso se compara 2581 con su (primer) la revisión de los padres no importa de qué se trate, y más claramente abarca la respuesta a la pregunta "¿qué diablos hizo 2581?"

+31

También podría usar hg diff -c 2581 para eso. – Ringding

+0

Espera un minuto, ¿la opción '-p' no significa" mostrar el parche "? –

6

Pruebe hg diff -r 2580 -r 2581.

2
hg diff -r 2580 -r 2581 

Este es un mal ejemplo. La revisión 2580 puede estar en otra rama y obtienes diff entre dos ramas.

Uso

hg log -p -r 2581 

o hg diff -c 2581

La diferencia entre ellos en las primeras líneas. Hg log también muestra información sobre changeset (principal, autor, fecha, ...)

Prefiero la segunda variante hg diff -c ... porque puede almacenar para parchar archivos.

hg diff -c 2581 > revision_2581.patch

Cuestiones relacionadas