web-dev-qa-db-fra.com

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 essayé aussi:

  • / c/Progra ~ 2/meld/bin /
  • "/ c/Fichiers de programme (x86)/meld/bin /"
  • "c:/Fichiers de programme (x86)/meld/bin /"

le résultat est le même.

quand je vais dans C:/Program files (x86)/meld/bin/et que je lance

python meld

l'outil s'exécute.

80
Paul

Vous pouvez 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 d'encapsulation décrite dans " Utiliser la fusion 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 que Mac OS installe homebrew , puis: 

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

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"
20
oldwizard

fusion 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\"
9
Tomasz Maj

Je pense que mergetool.meld.path devrait pointer directement sur l'exécutable de fusion. Ainsi, la commande que vous voulez est:

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

Aucune des autres réponses ici ne fonctionnait pour moi, peut-être d'essayer une combinaison de toutes. J'ai été capable d'adapter cette réponse acceptée de travailler avec meld. Cela fonctionne maintenant pour moi avec git 1.9.4, fusion 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
5
c.j.mcdonn

Pour windows add le chemin pour meld est comme ci-dessous:

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