osx - tool - p4merge download
Supongo que hay una herramienta CLI para p4merge (de la que no sé nada).
Escribí una publicación de blog sobre el uso de Changes.app y algunas otras herramientas de GUI con Mercurial: Using Mercurial con GUI Tools.
Básicamente, debe conocer las expectativas de llamadas de la herramienta CLI que carga la herramienta diff. IE, cómo hacer que cargue datos de un archivo en particular y cómo hacer que espere la salida. Debe haber suficiente información en la publicación para darle algunas ideas.
Utilizo el siguiente bit de Python para iniciar p4merge y usarlo con git:
#!/usr/bin/python
import sys
import os
os.system(''/Applications/p4merge.app/Contents/MacOS/p4merge "%s" "%s"'' % (sys.argv[2], sys.argv[5]))
Sin embargo, no estoy seguro de cuán mercurial parece lanzar una herramienta de diferencia externa. Es de esperar que sea tan simple como ajustar 2 y 5 en la línea anterior a ser el índice de los argumentos para ''registrado'' y ''copia de trabajo actual''.
Coloque esto en su ~/.hgrc
(o, opcionalmente, su Mercurial.ini
en Windows):
[merge-tools]
p4.priority = 100
p4.premerge = True # change this to False if you''re don''t trust hg''s internal merge
p4.executable = /Applications/p4merge.app/Contents/MacOS/p4merge
p4.gui = True
p4.args = $base $local $other $output
Requiere Mercurial 1.0 o más nuevo. Claramente necesitarás actualizar la ruta a ese ejecutable para reflejar dónde has instalado p4merge.
Tal vez porque estoy trabajando en Windows, pero la solución propuesta no funcionó para mí. En cambio, lo siguiente funciona.
En su ~/.hgrc/
/ Mercurial.ini
, apliqué los siguientes cambios:
Habilitado la extensión "ExtDiff":
[extensions]
hgext.extdiff =
Se agregó el comando extdiff de P4:
[extdiff]
cmd.p4diff = p4merge
Configurado como la herramienta de diferencia visual predeterminada:
[tortoisehg]
vdiff = p4diff
Estoy usando la versión 1.0.1 de TortoiseHg y p4merge funciona de la caja.
Simplemente vaya a Configuración global -> TortoiseHg y seleccione las siguientes opciones:
- Herramienta de combinación de tres vías: p4merge
- Herramienta Visual Diff: p4merge
Encontré la respuesta de Ry4an como una buena solución, excepto por un problema menor, que dejó a p4merge (bajo mac os) mezclando las entradas de comando. Haga todo lo que se describe en su respuesta y agregue la siguiente línea en la sección [merge-tools] :
p4.args=$base $local $other $output
Esta línea le dice a mercurial en qué orden p4merge toma sus argumentos.