web-dev-qa-db-fra.com

Kdiff3 ne s'ouvrira pas avec la commande mergetool

J'ai des conflits, alors je tape:

git mergetool

Je reçois alors un message disant:

Appuyez sur Entrée pour démarrer l'outil de résolution de fusion

Normalement, lorsque je fais cela, cela ouvre kdiff3 pour que je puisse fusionner les différences.

maintenant, quand je le fais, ça continue au fichier suivant, et kdiff3 ne s'ouvre pas du tout.

Je triple cheched ma config git et mon chemin système et tout semble parfait. Le fichier de configuration est comme suit:

 [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

Quelqu'un a une idée de ce qui pourrait être faux?

J'ai le sentiment (bien que je puisse me tromper, que c'est un problème depuis l'installation du nouveau client Github Windows) ....

23
iKode

Je réalise que c'est vieux, mais pour les futurs utilisateurs, KDiff3 a également une option où si la fusion est triviale, elle le résoudra en silence et ne montrera jamais une fenêtre.

Cela m'est arrivé dans le passé, alors c'est peut-être ce qui se passe pour vous. Je pense que l'option s'appelle 'Sauvegarde et fermeture automatiques lors de la fusion sans conflit'.

21
Dan

Je n'ai pas utilisé git à cette fin sous Windows depuis un moment, mais votre fichier de configuration présente quelques différences intéressantes concernant les chaînes de programme. 

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

contre

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

Je soupçonne qu'il pourrait y avoir un problème avec les espaces dans le nom du programme. Essayez de définir vos chemins d’exécutables diff/mergetool sur:

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

Encore une fois, pour les futurs Googlers:

À partir de la version 2.48.02 (29 novembre 2014), Git Extensions a commencé à distribuer la version 64 bits de kdiff3. (Voir https://github.com/gitextensions/gitextensions/blob/master/GitUI/Resources/ChangeLog.md#version-24802-29-november-2014 .)

Donc, si vous utilisez un système d'exploitation 32 bits et que le programme d'installation de Git Extensions a installé kdiff3, votre kdiff3 ne fonctionnera même pas par lui-même. La solution consiste à télécharger la version 32 bits ( http://sourceforge.net/projects/kdiff3/files/kdiff3/ ) et à le réinstaller. Je n'avais même pas besoin de désinstaller d'abord la version 64 bits, car le programme d'installation remplaçait simplement l'installation précédente.

2
Zack Martin

Encore une autre réponse pour les futurs googleurs:

En réalité, aucun outil de fusion externe ne démarrera. Un numéro a été publié en août 2015: https://jira.atlassian.com/browse/SRCTREEWIN-3543

0
John Reynolds