Kaleidoskop für git difftool

10854
svassr

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

Also habe ich ksdiff installiert und es in meinem 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

16

1 Antwort auf die Frage

33
svassr

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

Kaleidoscope "Integration" configuration window

Nachdem Sie ksdiff installiert haben, klicken Sie auf die Schaltfläche Konfigurieren, um die folgenden Zeilen in Ihre .gitconfigDatei einzufügen .

[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, werden nacheinander die verschiedenen Dateien geöffnet

git difftool myBranch otherBranch -y -t Kaleidoscope 

-

Anmerkungen:

  • -yUm zu vermeiden, dass Sie gefragt werden, ob wir Kaleidoscope für difftool für jede Datei verwenden möchten. Die Standardantwort lautet "Ja".
  • -t KaleidoscopeIst hier als Option optional, da difftool bereits Kaleidoscopein unserer .gitconfigDatei eingestellt ist.
In meinem Fall musste ich auch `[merge] tool = Kaleidoscope` zu ​​meiner` .gitconfig` hinzufügen. stigi vor 9 Jahren 1