Caleidoscopio para git difftool


18

Intenté usar el caleidoscopio para git difftoolcomparar dos ramas.

Así que instalé ksdiff y lo configuré como seguir en mi.gitconfig

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

cuando corres

git difftool myBranch otherBranch 

Recibo el error cannot use duplicate files within the same file list

Respuestas:


36

Encontré una manera de configurarlo. En Kaleidoscope, en el menú Kaleidoscope , hay un enlace llamado Integración que abre una ventana de configuración para varias soluciones de versiones.

Ventana de configuración de "integración" de caleidoscopio

Después de instalar ksdiff, hacer clic en el botón Configurar agregará las siguientes líneas a su .gitconfigarchivo.

[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

luego, el siguiente comando se abrirá sucesivamente en cada archivo diferente

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Notas:

  • -ysignifica evitar preguntar si queremos usar Kaleidoscope para difftool para cada archivo. La respuesta predeterminada es "sí".
  • -t Kaleidoscopees opcional aquí como la herramienta predeterminada ya está configurada Kaleidoscopeen nuestro .gitconfigarchivo.

1
En mi caso también tuve que agregar [merge] tool = Kaleidoscopea mi .gitconfig.
stigi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.