Перейти к содержимому

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

16

Я попытался с помощью калейдоскопа git difftoolсравнить две ветви.

Поэтому я установил ksdiff и установил его следующим образом:.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

10 923 просмотра
svassr спросил 12 лет назад
S 696

1 ответ

33
Принятый ответ

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

Kaleidoscope "Integration" configuration window

После установки ksdiff нажатие на кнопку Configure добавит следующие строки в ваш .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Опционально здесь, поскольку difftool по умолчанию уже установлен Kaleidoscopeв нашем .gitconfigфайле.

В моем случае мне также пришлось добавить [merge] tool = Kaleidoscope к моему .gitconfig.

stigi · 11 лет назад · 1
svassr ответил 12 лет назад
S 696