Caleidoscópio para git difftool

16

Eu tentei usar o caleidoscópio para git difftool para comparar dois ramos.

Então eu instalei o ksdiff e configurei como segue no meu .gitconfig

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

ao correr

git difftool myBranch otherBranch 

Eu recebo o erro cannot use duplicate files within the same file list

    
por svassr 18.12.2013 / 00:20

1 resposta

33

Eu encontrei uma maneira de configurá-lo. No próprio Kaleidoscope, no menu Kaleidoscope , existe um link chamado Integração que abre uma janela de configuração para várias soluções de versionamento.

Janeladeconfiguração"Integração" do caleidoscópio

Depois de instalar o ksdiff , clicando no botão Configurar , adicionaremos as seguintes linhas ao seu arquivo .gitconfig .

[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

então, a execução do seguinte comando abrirá sucessivamente cada arquivo diferente

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Notas:

  • -y significa evitar perguntar se queremos usar o Kaleidoscope para o difftool em cada arquivo. A resposta padrão é "sim".
  • -t Kaleidoscope é opcional aqui, já que o difftool padrão já está definido como Kaleidoscope em nosso arquivo .gitconfig .
por 03.01.2014 / 19:55