109 votes

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 est é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 dans C:/Program files (x86)/meld/bin/ et que j'exécute

python meld

l'outil fonctionne.

82voto

VonC Points 414372

Vous pourriez utiliser des chemins unix complets comme :

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 meld 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 le 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 invoqué sous Windows via la console. Ainsi, meld.exe ne fonctionnera pas correctement.


CenterOrbit mentions dans les commentaires pour Mac OS pour installer homebrew et ensuite :

brew cask install meld
git config --global merge.tool meld
git config --global  diff.guitool meld

28voto

pcguru Points 1535

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

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

16voto

Tomasz Maj Points 483

Meld 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\"

6voto

dbw Points 2246

Je pense que mergetool.meld.path doit pointer directement vers l'exécutable meld. Ainsi, la commande que vous voulez est :

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

5voto

c.j.mcdonn Points 961

Aucune des autres réponses ici n'a fonctionné pour moi, peut-être parce que j'ai essayé une combinaison de toutes ces réponses. J'ai pu adapter cette réponse acceptée pour travailler avec meld. Cela fonctionne maintenant pour moi avec git 1.9.4, meld 3.14.0, et Windows 8.1.

Modifiez ~/.gitconfig pour qu'il ressemble à ceci :

[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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X