2012-06-04 22 views
22

tengo conflictos, por lo que escribo:kdiff3 no se abre con el comando mergetool

git mergetool 

entonces consigo un mensaje que dice:

retorno Hit iniciar la herramienta de resolución de combinación

Normalmente, cuando hago esto, abre kdiff3 para poder combinar las diferencias.

ahora cuando lo hago, simplemente continúa con el siguiente archivo, y kdiff3 no se abre en absoluto.

Triple compré mi configuración de git y la ruta de mi sistema y todo parece perfecto. El archivo de configuración es el siguiente:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[diff] 
    guitool = kdiff3 
[difftool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[core] 
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true 
[user] 
    name = James Farrell 
    email = [email protected] 
[github] 
    user = whygosystems 
    token = 87d00c2e613b3a7c8c1be817b75b8a33 
[diff] 
    external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh 

¿Alguien tiene alguna idea de lo que podría estar mal?

Tengo la sensación (aunque podría estar equivocado, que este ha sido un problema, ya que la instalación del nuevo Github cliente de Windows) ....

+0

He tenido este problema ocasionalmente, y reiniciar la máquina siempre me ha ayudado. No tengo idea de por qué. – eis

+0

@eis Gracias, he reiniciado y no ha ayudado. – iKode

+1

Tuve el mismo problema, para mí esta [solución] (http://stackoverflow.com/a/15813064/1132850) me ayudó. – PiQuer

Respuesta

5

No he utilizado para este propósito Git en Windows en un momento, pero su archivo de configuración muestra algunas diferencias interesantes re: cadenas de programas.

[core] 
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true 

vs

[difftool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 

Sospecho que puede haber algún problema con los espacios en el nombre del programa. Intenta configurar el diff/mergetool caminos ejecutables para:

path = \"c:/Program Files (x86)/KDiff3/kdiff3.exe\" 
21

Comprendo que esto es viejo, pero para los futuros empleados de Google, KDiff3 también tiene una opción en la que si la fusión es trivial, se resuelve en silencio y ni siquiera muestran una ventana.

Ya me sucedió a mí en el pasado, por lo que podría ser lo que esté sucediendo para ti. Creo que la opción se llama 'Auto guardar y salir en combinación sin conflictos'.

+3

Esta opción es la culpable, pero siempre se activa porque git llama a 'kdiff3' con el indicador' --auto', por lo que no ayuda a deshabilitar la opción en kdiff3. Para una solución, vea mi respuesta a esta [pregunta similar] (http://stackoverflow.com/a/15813064/1132850). – PiQuer

2

Una vez más, para los futuros empleados de Google:

partir de la versión 2.48.02 (29 de noviembre de 2014), las extensiones de Git comenzó a distribuir la versión de 64 bits de kdiff3. (Consulte https://github.com/gitextensions/gitextensions/blob/master/GitUI/Resources/ChangeLog.md#version-24802-29-november-2014.)

Si tiene un sistema operativo de 32 bits y el instalador de Git Extensions instaló kdiff3, su kdiff3 ni siquiera se ejecutará solo. La solución es descargar la versión de 32 bits (http://sourceforge.net/projects/kdiff3/files/kdiff3/) y reinstalar. Ni siquiera necesité desinstalar la versión de 64 bits primero, ya que el instalador simplemente sobrescribió la instalación anterior.

Cuestiones relacionadas