mercurial diff

Mercurial: crear una diferencia de dos confirmaciones



diff (3)

¿Hay alguna manera de obtener los cambios de dos commits con mercurial? El segundo compromiso no está directamente después del primero, hay algunos otros entre ellos.

Lo intenté

hg diff [some params] --change xxxxx --change yyyyy > file.patch

pero eso solo incluye el último conjunto de cambios.

Si no hay manera de lograr esto con hg, ¿hay alguna herramienta para combinar parches?


¿Exportar? Un archivo de parche por conjunto de cambios, algo así como

hg export --output %r.patch --rev A --rev B


Encontré esta página mientras trataba de resolver esto. Encontré mi solución a través de hg help diff .

hg diff -r <rev> -r <rev> funcionó para mis necesidades (diferenciando entre dos etiquetas)


Una diferencia externa

La extensión extdiff le permitirá usar su herramienta diferencial externa preferida. En mi caso uso meld así que día a día ejecuto este tipo de comando

hg meld -r <rev1> -r <rev2>

Primero habilite la extensión extdiff en la sección de extensiones (también tengo shelve & record habilitado)

[extensions] shelve = record = hgext.extdiff =

Luego agrega esta sección ...

[extdiff] cmd = meld cmd.meld = /usr/bin/meld

a su archivo .hgrc. Obviamente, reemplace Meld con el comando utilizado para iniciar su herramienta preferida