2010-10-28 9 views
6

He leído acerca de un bajillion Q & A sobre este mismo tema, y ​​seguí todas las instrucciones a la carta. Pero todavía estoy teniendo dolores de cabeza tratando de configurar Git para diff y fusionar usando WinMerge.Git & WinMerge (msysgit)

que he tomado los siguientes pasos usando el terminal de Git:

git config --global diff.tool winmerge 
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\"" 
git config --global difftool.prompt false 

También he configurar un script en un directorio que incluyo en mi PATH variable que lee:

#!/bin/sh 
echo Launching WinMergeU.exe: $1 $2 
"C:/Program Files/WinMerge/WinMergeU.exe" git /e /u /dl "Base" /dr "Mine" "$1" "$2"" 

Cuando ejecuto

git mergetool 

En la terminal de Git, veo:

Merging: 
first.txt 

Normal merge conflict for 'first.txt': 
    {local}: modified 
    {remote}: modified 
Launching WinMergeU.exe: 

Por lo tanto, me parece que las variables $LOCAL y $REMOTE no están pasando nada en el guión winmerge.sh. ¿Qué estoy haciendo mal aquí? Debo asumir que está en la parte de configuración.

+0

He actualizado mi respuesta con los enlaces correctos, y alguna alternativa a winmerge también. – VonC

Respuesta

7

en comparación con mi previous answer (o this one o that one), sus pasos incluyen una comilla doble extra al final de winmerge.sh guión

 
    #!/bin/sh 
    echo Launching WinMergeU.exe: $1 $2 
    "C:/Program Files/WinMerge/WinMergeU.exe" 
     git /e /u /dl "Base" /dr "Mine" "$1" "$2"" 
              ^
               | 
            (this shouldn't be here) 

Dicho esto, las respuestas estaban a punto difftool usando winmerge, que no es compatible con 3-way merge (solo existe local y remoto, sin base).

Para una verdadera herramienta de combinación, recomendaría kdiff3 (como en "Is it possible for git-merge to ignore line-ending differences?") o araxis (como se describe en "How to set Araxis as diff/merge tool for MSYS git?"), donde se pueden ver las tres variables (local, remota base de y) utilizado.

+0

¿Podría arreglar su enlace? – erjiang

+0

@erjiang: se han corregido los enlaces y se han agregado comentarios importantes sobre las herramientas de combinación de tres vías. – VonC

Cuestiones relacionadas