Установка простая, но есть пара пунктиков которые надо отметить. Кратенько по установке:
Запоминаем путь установки, его потом будем прописывать в gitconfig
Эта прога может сравнивать много чего, включая каталоги, бинарники и т.д. и т.п. Для сравнения некоторых файлов она использует плагины, которые можно посмотреть и скачать тут
http://www.prestosoft.com/edp_plugins.asp
Чуть чуть донастроим сам ExamDiff. Он может выдавать разные предупреждения. И часто может вылетать вот такое:
Нам сообщают что у нас в файле нет новой строки в конце файла. Видимо это считается хорошим тоном. Так или иначе это сообщение можно отключить по совету данному в подсказке, что мы и сделаем:
И сделаем еще одну настройку, чтобы ExamDiff не создавал .bak файлов в рабочей директории
Теперь настраиваем ExamDiff а работу с Git. На сайте ExamDiff есть инструкция как его настраивать, но я немного изменил их вариант, чтобы было так, как удобней мне. Я просто поменял в разделе [difftool "edp"] $REMOTE и $LOCAL местами, относительно того как написано в документации, чтобы файлы из разных коммитов отображались в порядке перечисления коммитов.
В любом случае, если вас не устроят мои настройки вы можете сделать как вам удобнее.
Сразу приведу текстовый вариант настройки:
[diff]
tool = p4m
tool = kdiff3
tool = dm
tool = dfu
tool = wm
tool = ss
tool = bc4
tool = araxis
tool = edp
[difftool "p4m"]
cmd = "p4merge.exe $LOCAL $REMOTE"
[difftool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
[difftool "dm"]
cmd = C:/Program\\ Files/DiffMerge/sgdm.exe $LOCAL $REMOTE
[difftool "dfu"]
cmd = diffusew $LOCAL $REMOTE
[difftool "wm"]
cmd = winmergeu $LOCAL $REMOTE
[difftool "ss"]
cmd = smartsynchronize.exe $LOCAL $REMOTE
[difftool "bc4"]
cmd = bcomp.exe $LOCAL $REMOTE
[difftool "araxis"]
path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
[difftool "edp"]
cmd = \"C:/Program Files/ExamDiff Pro/ExamDiff.exe\" \"$LOCAL\" \"$REMOTE\" //nh
[difftool]
prompt = false
keepBackup = false
trustExitCode = false
[merge]
tool = p4m
tool = kdiff3
tool = dm
tool = dfu
tool = ss
tool = bc4
tool = araxis
tool = edp
[mergetool]
prompt = false
keepBackup = false
keepTemporaries = false
[mergetool "p4m"]
cmd = "p4merge.exe $BASE $LOCAL $REMOTE $MERGED"
trustExitCode = true
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
[mergetool "dm"]
cmd = C:/Program\\ Files/DiffMerge/sgdm.exe -merge -result=$MERGED $LOCAL $BASE $REMOTE
[mergetool "dfu"]
cmd = diffusew $MERGED $LOCAL $BASE $REMOTE
[mergetool "ss"]
cmd = smartsynchronize.exe $LOCAL $REMOTE $MERGED
trustExitCode = false
[mergetool "bc4"]
cmd = bcomp.exe $LOCAL $REMOTE $BASE $MERGED
trustExitCode = true
[mergetool "araxis"]
path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
[mergetool "edp"]
cmd = \"C:/Program Files/ExamDiff Pro/ExamDiff.exe\" //merge \"$REMOTE\" \"$BASE\" \"$LOCAL\"
//o:\"$MERGED\" //dn1:\"Remote\" //dn2:\"Base\" //dn3:\"Local\" //dno:\"Output\" //nh
Ну и чтобы понятней было с последней строчкой приведу скрин редактора Far manager
Ну а теперь испытываем в работе diff. Даем команду
$ git difftool ffd6b37 c258082 --tool=edp --cc test.txt
И получаем всплывшее окно ExamDiff
Теперь проверяем слияние командами
$ git merge newbranch
$ git mergetool --tool=edp
Получаем всплывшее окно ExamDiff Pro
Разрешаем конфликт, сохраняем и выходим из программы.
Все работает.
Комментариев нет:
Отправить комментарий