2017-10-14 1 views
1

J'essaye de configurer DiffMerge pour git à utiliser pour difftool et mergetool. Je commande suivante: -Git configure difftool et mergetool par DiffMerge ne fonctionne pas

Les commandes suivantes dans une fenêtre d'invite de commande mettra à jour votre .gitconfig pour configurer GIT utilisation DiffMerge:

C:\> git config --global diff.tool diffmerge 

C:\> git config --global difftool.diffmerge.cmd 

    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" 
    \"$REMOTE\""` 

Si je vérifie le contenu de .gitconfig il a ce qui suit: -

` [diff] 
     tool = diffmerge 
    [mergetool "diffmerge"] 
     cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe -merge -result=\"\" \"\" \"\" \"\" 
     trustExitCode = true 
    [merge] 
     tool = diffmerge 
    [difftool "diffmerge"] 
     cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"\" \"\" 
    [core] 
     autocrlf = true 
     excludesfile = C:\\Users\\dev\\Documents\\gitignore_global.txt 
    [user] 
     name = DESKTOP - VAFJEG6\\dev 
      email = [email protected] ` 

Si je tente $ git config --list --global: -

diff.tool=diffmerge 
    mergetool.diffmerge.cmd=C:/Program\ 
    Files/SourceGear/Common/DiffMerge/sgdm.exe -merge -result="" "" "" "" 
    mergetool.diffmerge.trustexitcode=true 
    merge.tool=diffmerge 
    difftool.diffmerge.cmd=C:/Program\ 
    Files/SourceGear/Common/DiffMerge/sgdm.exe "" "" 
    core.autocrlf=true 
    core.excludesfile=C:\Users\dev\Documents\gitignore_global.txt 
    user.name=DESKTOP-VAFJEG6\dev 
    [email protected]` 

Si je essayez git git $ difftool il a montré cette boîte de dialogue: -

enter image description here

Quel est le problème? Comment le configurer correctement?

Répondre

0

Le $LOCAL/$REMOTEmentioned in the doc doit avoir été interprété par le shell (si typé d'un git bash au lieu d'une session CMD) et remplacé par "".

Modifier directement la configuration globale (git config --global --edit) et ajouter les éléments manquants pour obtenir:

[difftool "DiffMerge"] 
    cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' "$LOCAL" "$REMOTE" 
[merge] 
    tool = DiffMerge 
[mergetool "DiffMerge"] 
    cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result="$PWD/$MERGED" "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE" 
    trustExitCode = true