Kaléidoscope pour git difftool


18

J'ai essayé d'utiliser le kaléidoscope pour git difftoolcomparer deux branches.

J'ai donc installé ksdiff et l' ai réglé comme suit dans mon.gitconfig

 [diff]
     tool = kaleidoscope
 [difftool "kaleidoscope"]
     cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")

en courant

git difftool myBranch otherBranch 

Je reçois l'erreur cannot use duplicate files within the same file list

Réponses:


36

J'ai trouvé un moyen de le configurer. Dans Kaléidoscope lui-même sous le menu Kaléidoscope , il y a un lien appelé Intégration qui ouvre une fenêtre de configuration pour plusieurs solutions de versioning.

Fenêtre de configuration "Intégration" du kaléidoscope

Après avoir installé ksdiff, cliquer sur le bouton Configurer ajoutera les lignes suivantes à votre .gitconfigfichier.

[diff]
    tool = Kaleidoscope
[difftool "Kaleidoscope"]
  cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = Kaleidoscope
[mergetool "Kaleidoscope"]
  cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
  trustExitCode = true

puis l'exécution de la commande suivante ouvrira successivement chaque fichier différent

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Remarques:

  • -ysignifie éviter de demander si nous voulons utiliser Kaleidoscope pour difftool pour chaque fichier. La réponse par défaut est "oui".
  • -t Kaleidoscopeest optionnel ici car l'outil par défaut est déjà défini Kaleidoscopedans notre .gitconfigfichier.

1
Dans mon cas, j'ai également dû ajouter [merge] tool = Kaleidoscopeà mon .gitconfig.
stigi
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.