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

Svassr
quelle

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 .
Svassr
quelle
1
In meinem Fall musste ich auch [merge] tool = Kaleidoscopemeinen hinzufügen .gitconfig.
Stigi