Comment définir Meld comme git mergetool


95

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 programme (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 que je lance

python meld

l'outil s'exécute.



Copier coller des parties de .gitconfigfrom: marcin-chwedczuk.github.io/use-meld-as-git-merge-diff-tool
csharpfolk

Connexes: «Configuration de l'outil de comparaison avec .gitconfig»: stackoverflow.com/a/6412645/4561887 (pour meld, remplacez simplement vimdiffpar melddans cette réponse)
Gabriel Staples

Veuillez commenter et voter pour le problème en amont afin que les futurs utilisateurs n'aient même pas à s'inquiéter à ce sujet.
Franklin Yu

Réponses:


71

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 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 cask install meld
git config --global merge.tool meld
git config --global  diff.guitool meld

3
Pour moi, je devais faire:git config --global merge.tool meld git config --global mergetool.meld.path /c/Program files (x86)/Meld/meld/meldc.exe
abergmeier

@abergmeier Ok, j'ai inclus votre commentaire dans la réponse pour plus de visibilité.
VonC

La solution de @ abergmeier fonctionne. De plus, sur windows git bash, si vous faites une tabclé, il suggérera le chemin afin qu'il soit facile de faire les choses correctement.
Aswin Kumar

3
Pour info, sur Mac OSx: installez homebrew , puis:$ brew install homebrew/x11/meld $ git config --global merge.tool meld $ git config --global diff.guitool meld
CenterOrbit

@CenterOrbit OK, j'ai inclus votre commentaire dans la réponse pour plus de visibilité.
VonC

24

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"

6
git config --global mergetool.meld.path "c:\Program Files (x86)\meld\meld.exe"lors de l'utilisation de PowerShell
Michael Blake

11

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

Veuillez noter qu'il s'agit d'une question abandonnée. Je n'ai pas traité des outils de fusion depuis longtemps, donc même si votre réponse est la meilleure, je ne peux pas le prouver et marquer comme réponse.
Paul

Bonjour, je l'ai essayé et cela fonctionne très bien. Dans mon cas, c'était le 'cmd' qui manquait pour appeler correctement
meld

Meld n'a pas enregistré correctement les fichiers fusionnés pour moi lors de l'utilisation de ce modèle de ligne de commande. Voir stackoverflow.com/a/40777256/768795 pour une réponse qui fonctionne.
Thomas W

6

Je pense que cela mergetool.meld.pathdevrait pointer directement vers l'exécutable de fusion. Ainsi, la commande que vous souhaitez est:

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

5

Aucune des autres réponses ici n'a fonctionné pour moi, peut-être en essayant une combinaison de toutes. 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 à:

[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

2

Après l'avoir installé http://meldmerge.org/, j'ai dû dire à git où il se trouvait:

git config --global merge.tool meld
git config --global diff.tool meld
git config --global mergetool.meld.path “C:\Program Files (x86)\Meld\meld.exe”

Et cela semble fonctionner. Fusion et comparaison avec «git difftool» ou «git mergetool»

Si quelqu'un confronté à un problème tel que Meld plante après le démarrage (indication de problème avec python), vous devez configurer Meld / lib dans votre variable d'environnement système comme ci-dessous C:\Program Files (x86)\Meld\lib


0

Pour Windows, ajoutez le chemin de fusion comme ci-dessous:

 git config --global mergetool.meld.path C:\\Meld_run\\Meld.exe
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.