Configurer l'outil SourceGear DiffMerge pour Git

John Wachira 18 aout 2022
  1. Configurer DiffMerge sous Windows
  2. Configurer DiffMerge sur Mac OS
  3. Configurer DiffMerge sur Ubuntu
Configurer l'outil SourceGear DiffMerge pour Git

Cet article traitera de la configuration de Git pour utiliser DiffMerge de SourceGear comme difftool par défaut. Cet outil nous permet de comprendre facilement les conflits de fusion avec des visuels améliorés par rapport au difftool par défaut de Git.

C’est l’outil idéal pour une fusion à 3 voies car il prend en charge la comparaison de fichiers à 3 voies.

Nous pouvons voir l’état précédent d’un fichier, l’état actuel et le résultat après une fusion. Vous devez télécharger et installer DiffMerge à partir du site Web officiel de SourceGear.

Configurer DiffMerge sous Windows

Pour configurer Git pour utiliser l’outil DiffMerge par défaut, ajoutez-le à votre fichier .gitconfig.

 [diff]
     tool = DiffMerge
 [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
 [mergetool]
     keepBackup = false

Pour les paramètres d’argument de comparaison, nous avons :

  1. $LOCAL, qui est le fichier d’origine.
  2. $REMOTE, qui est le fichier modifié.

Vous pouvez exécuter les commandes git difftool et git mergetool sur Git Bash pour ouvrir le DiffMerge.

Alternativement, vous pouvez exécuter les commandes ci-dessous sur votre invite de commande pour mettre à jour le fichier .gitconfig.

C:\> git config --global diff.tool diffmerge
C:\> git config --global difftool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        \"$LOCAL\" \"$REMOTE\""

C:\> git config --global merge.tool diffmerge
C:\> git config --global mergetool.diffmerge.trustExitCode true
C:\> git config --global mergetool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        -merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\""

Configurer DiffMerge sur Mac OS

Le processus de configuration de Git pour utiliser DiffMerge sur Mac OS est peut-être le plus simple. Assurez-vous d’avoir le répertoire ci-dessous.

/usr/local/bin/diffmerge

Exécutez les commandes ci-dessous pour mettre à jour votre fichier .gitconfig et testez-le.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/local/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/local/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

Nous pouvons exécuter la commande git config --global -e pour inspecter notre fichier .gitconfig. Ça devrait ressembler a quelque chose comme ca:

[diff]
	tool = diffmerge

[merge]
	tool = diffmerge

...

[mergetool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
	trustExitCode = true
[mergetool]
	keepBackup = false
[difftool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --nosplash \"$LOCAL\" \"$REMOTE\"

Configurer DiffMerge sur Ubuntu

La configuration sur Ubuntu est très similaire à Mac OS. Nous utiliserons les mêmes commandes mais changerons l’emplacement d’installation.

Voici les commandes.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

C’est à peu près tout. Nous pouvons maintenant exécuter les commandes ci-dessous pour le tester.

$ git mergetool
$ git difftool

En résumé, si vous souhaitez configurer Git pour utiliser l’outil DiffMerge de SourceGear, vous devrez mettre à jour votre fichier .gitconfig avec les commandes répertoriées en fonction de votre système d’exploitation.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Article connexe - Git Diff