Kaleidoskop für Git Difftool


18

Ich habe versucht, mit dem Kaleidoskop git difftoolzwei Zweige zu vergleichen.

Also habe ich ksdiff installiert und es wie folgt eingestellt.gitconfig

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

beim laufen

git difftool myBranch otherBranch 

Ich erhalte den Fehler cannot use duplicate files within the same file list

Antworten:


36

Ich habe einen Weg gefunden, es zu konfigurieren. In Kaleidoscope selbst gibt es unter dem Menü Kaleidoscope einen Link namens Integration, der ein Konfigurationsfenster für mehrere Versionsverwaltungslösungen öffnet.

Konfigurationsfenster "Integration" des Kaleidoskops

Nach der Installation von ksdiff werden durch Klicken auf die Schaltfläche Konfigurieren die folgenden Zeilen zu Ihrer .gitconfigDatei hinzugefügt .

[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

Wenn Sie dann den folgenden Befehl ausführen, wird nacheinander jede andere Datei geöffnet

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Anmerkungen:

  • -yDies bedeutet, dass Sie nicht gefragt werden müssen, ob Sie Kaleidoscope for difftool für jede Datei verwenden möchten. Die Standardantwort lautet "Ja".
  • -t Kaleidoscopeist hier optional, da Kaleidoscopein unserer .gitconfigDatei bereits das Standard-Diffe-Tool eingestellt ist .

1
In meinem Fall musste ich auch [merge] tool = Kaleidoscopemeinen hinzufügen .gitconfig.
Stigi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.