¿Es posible cambiar la herramienta de diferencias por defecto en Mercurial?
-
04-07-2019 - |
Pregunta
Cada vez que hago un hg diff file.ext
termino usando una aplicación de consola diff. Me gustaría usar Kdiff3 o WinMerge (estoy usando Windows).
¿Hay alguna manera de cambiar eso? No puedo encontrar una referencia en la documentación de Mercurial ( ¡No estoy hablando de fusionar! ).
Solución
Resolví esto usando una extensión incorporada de Mercurial ... Solo tengo que agregar las siguientes líneas a Mercurial.ini (en la carpeta de Mercurial):
[extensions]
hgext.extdiff=
[extdiff]
cmd.vdiff = kdiff3
Cuando quiero usar kdiff3 en lugar de diff, solo tengo que usar:
hg vdiff file.ext
Otros consejos
Con esta configuración
[extdiff]
cmd.kdiff3 =
Uso este comando para ver diffs:
hg kdiff
Esto muestra un árbol de directorios con todos los archivos que han cambiado. Haz clic en un archivo para ver las diferencias solo para el archivo. Es posible que pueda agregar un parámetro de archivo al comando para ver solo un archivo.
Más información aquí .
Acabo de tener este problema hace unos minutos; Acabo de instalarlo y agregué su ruta (el valor predeterminado es c: \ program files \ kdiff3) a mi sistema PATH e.v. Reinicié mi ventana para seleccionar la nueva ruta y " hg kdiff3 " acabo de trabajar Resulta que lo siguiente está en mi base " mercurial.ini " archivo, esto permite que el kdiff3 funcione para todos los repositorios de hg en el sistema.
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Si está buscando algo como git difftool
, donde no necesita escribir los nombres de archivo y ver la diferencia de todos los archivos modificados, agréguelos a su ~ / .hgrc
, y ejecute hg difftool
.
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done