Comment définir Meld comme git mergetool

J’ai mis:

git config --global merge.tool meld git config --global mergetool.meld.path c:/Progra~2/meld/bin/ 

Sur “git mergetool”, il écrit:

 Hit return to start merge resolution tool (meld): The merge tool meld is not available as 'c:/Progra~2/meld/bin/' 

J’ai aussi essayé:

  • / c / Progra ~ 2 / meld / bin /
  • “/ c / Program files (x86) / meld / bin /”
  • “c: / Program files (x86) / meld / bin /”

le résultat est le même.

quand je vais à C: / Program files (x86) / meld / bin / et exécuter

 python meld 

l’outil fonctionne.

Vous pouvez utiliser des chemins Unix complets tels que:

 PATH=$PATH:/c/python26 git config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/meld/bin/meld 

C’est ce qui est décrit dans ” Comment faire fonctionner le travail avec git sous Windows ”

Ou vous pouvez adopter l’approche wrapper décrite dans « Utiliser Meld avec Git sous Windows »

 # set up Meld as the default gui diff tool $ git config --global diff.guitool meld # set the path to Meld $ git config --global mergetool.meld.path C:/meld-1.6.0/Bin/meld.sh 

Avec un script meld.sh :

 #!/bin/env bash C:/Python27/pythonw.exe C:/meld-1.6.0/bin/meld $@ 

abergmeier mentionne dans les commentaires :

Je devais faire:

 git config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe 

Notez que meldc.exe a été spécialement créé pour être appelé sous Windows via la console. Ainsi, meld.exe ne fonctionnera pas correctement.


CenterOrbit mentionne dans les commentaires pour Mac OS d’installer homebrew , puis:

 brew install homebrew/gui/meld git config --global merge.tool meld git config --global diff.guitool meld 

Cela a fonctionné pour moi sur Windows 8.1 et Windows 10.

 git config --global mergetool.meld.path "/c/Program Files (x86)/meld/meld.exe" 

fondre 3.14.0

 [merge] tool = meld [mergetool "meld"] path = C:/Program Files (x86)/Meld/Meld.exe cmd = \"C:/Program Files (x86)/Meld/Meld.exe\" --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\" 

Je pense que mergetool.meld.path devrait pointer directement vers l’exécutable meld. Ainsi, la commande que vous souhaitez est:

 git config --global mergetool.meld.path c:/Progra~2/meld/bin/meld 

Aucune des autres réponses ici n’a fonctionné pour moi, peut-être en essayant une combinaison de tous. J’ai pu adapter cette réponse acceptée au travail avec Meld. Cela fonctionne maintenant pour moi avec git 1.9.4, Meld 3.14.0 et Windows 8.1.

Éditez ~ / .gitconfig pour ressembler à:

 [diff] tool = meld guitool = meld [mergetool "meld"] path = c:/Program Files (x86)/Meld/Meld.exe [difftool "meld"] path = c:/Program Files (x86)/Meld/Meld.exe 

Pour Windows, ajoutez le chemin pour meld comme ci-dessous:

  git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe