Калейдоскоп для git difftool


18

Я спробував використовувати калейдоскоп для git difftoolпорівняння двох гілок.

Тому я встановив ksdiff і встановив його, як follow у моєму.gitconfig

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

при бігу

git difftool myBranch otherBranch 

Я отримую помилку cannot use duplicate files within the same file list

Відповіді:


36

Я знайшов спосіб його налаштувати. У самому Kaleidoscope під меню Kaleidoscope є посилання під назвою Integration, яке відкриває вікно конфігурації для кількох рішень версій.

Вікно налаштування калейдоскопа "Інтеграція"

Після встановлення ksdiff натискання кнопки Налаштування додасть у .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

після цього наступна команда послідовно відкриє кожен інший файл

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

Примітки:

  • -yСтійкий, щоб не запитувати, чи хочемо ми використовувати Kaleidoscope для difftool для кожного файлу. Відповідь за замовчуванням - «так».
  • -t Kaleidoscopeтут є опціональним, оскільки Kaleidoscopeу нашому .gitconfigфайлі вже встановлено difftool за замовчуванням .

1
У моєму випадку я також повинен був додати [merge] tool = Kaleidoscopeдо свого .gitconfig.
стигі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.