Caleidoscopio per git difftool


18

Ho provato a usare il caleidoscopio per git difftoolconfrontare due rami.

Quindi ho installato ksdiff e l' ho impostato come follow in my.gitconfig

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

durante la corsa

git difftool myBranch otherBranch 

Ricevo l'errore cannot use duplicate files within the same file list

Risposte:


36

Ho trovato un modo per configurarlo. Nello stesso Caleidoscopio nel menu Caleidoscopio è presente un collegamento chiamato Integrazione che apre una finestra di configurazione per diverse soluzioni di controllo delle versioni.

Finestra di configurazione "Integrazione" del caleidoscopio

Dopo aver installato ksdiff facendo clic sul pulsante Configura verranno aggiunte le seguenti righe al .gitconfigfile.

[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

quindi eseguendo il comando seguente si apriranno in successione ogni file diverso

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Appunti:

  • -ysignifica evitare di chiederci se vogliamo usare Kaleidoscope per difftool per ogni file. La risposta predefinita è "sì".
  • -t Kaleidoscopeè opzionale qui come difftool predefinito è già impostato Kaleidoscopenel nostro .gitconfigfile.

1
Nel mio caso ho anche dovuto aggiungere [merge] tool = Kaleidoscopeal mio .gitconfig.
stigi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.