tool the password not bcompare available and macos git merge config kdiff3

macos - the - p4merge



¿Cómo configurar kdiff3 en lugar de emerger como un git mergetool? (2)

Las versiones recientes de Git tienen soporte incorporado para kdiff3

Sí, pero solo Git 2.12 (Q1 2017) permitirá que esas herramientas integradas confíen en su código de salida.

Consulte commit 2967284 , commit 7c10605 (29 de noviembre de 2016) por David Aguilar ( davvid ) .
(Fusionada por Junio ​​C Hamano - gitster - in commit c4a44e2 , 16 de diciembre de 2016)

mergetool : honor mergetool.$tool.trustExitCode para herramientas integradas

Las herramientas de combinación integradas contienen una suposición codificada sobre si el código de salida de una herramienta puede ser confiable para determinar el éxito o el fracaso de una combinación.
Las herramientas cuyos códigos de salida no son confiables contienen llamadas a check_unchanged() en sus funciones merge_cmd() .

Un problema con esto es que la configuración trustExitCode no se respeta para las herramientas integradas.

Enseñar herramientas integradas para respetar la configuración de trustExitCode .

(Ver kdiff3 )

Extienda run_merge_cmd() para que sea responsable de llamar a check_unchanged() cuando no se pueda confiar en el código de salida de una herramienta.
Elimine las llamadas check_unchanged() de los scriptlets ya que ya no son responsables de llamarlas.

Tengo Git en Mac OSX Snow Leopard e intenté editar mi herramienta de fusión y diferenciación para usar kdiff3 en lugar de emerger.

Pero cuando trato de usarlo, no se inicia la GUI de kdiff y me mantiene con una interfaz basada en cmd.

Mi configuración en gitconfig es:

[merge] tool = kdiff3 [mergetool "kdiff3"] cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3 args = $base $local $other -o $output trustExitCode = false [diff] tool = kdiff3 [difftool "kdiff3"] cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3 args = $base $local $other -o $output trustExitCode = false

Obviamente hay algo que falta, pero ¿qué hice mal?


Las versiones recientes de Git tienen soporte kdiff3 para kdiff3 , por lo que no hay necesidad de configurarlo manualmente usando la configuración genérica de cmd y args . En su lugar haz:

$ git config --global merge.tool kdiff3

Y si kdiff3 no está en su entorno PATH , también haga lo siguiente:

$ git config --global mergetool.kdiff3.path /Applications/kdiff3.app/Contents/MacOS/kdiff3

Esto hace que git mergetool lance kdiff3 . Tenga en cuenta que no hay forma de configurar Git para que inicie automáticamente su herramienta de combinación después de una combinación manual que tenga conflictos.

En caso de que realmente quiera ver cómo Git está llamando a kdiff3 internamente, eche un vistazo a la configuración integrada de mergetool para kdiff3 .

Edición : Para Beyond Compare 4 , que ahora también es compatible con Mac OS X, simplemente intercambie kdiff3 con bc3 (sí, "3") y ajuste la ruta en las líneas anteriores. A partir de Git 2.2.0 podrás usar bc como un alias para bc3 para que no tengas que preocuparte por el número de versión.