пятница, 27 февраля 2015 г.

Инструменты для работы с Git – Araxis Merge Professional v2013.4296

Сразу перейду к файлу gitconfig с настройками для арахиса :)

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = wm
        tool = ss
        tool = bc4
        tool = araxis

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = ss
        tool = bc4
        tool = araxis

[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

Теперь проверяем сравнение файлов командой

$ git difftool c258082 ffd6b37 --tool=araxis --cc test.txt

AR0001

Всплыло окно сравнения

AR0002

Все работает замечательно

Теперь проверяем разруливание конфликтов слияния командами

$ git merge newbranch
$ git mergetool --tool=araxis


AR0003

AR0004

Все работает замечательно. На этом по арахису все.

Инструменты для работы с Git – Beyond Compare 4

Где скачать и как установить это все просто. Начну сразу с настроек gitconfig файла. Путь к экзешнику BC4 я прописал в PATH.

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = wm
        tool = ss
        tool = bc4

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = ss
        tool = bc4

[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

Теперь проверяем работу сравнения командой

$ git difftool c258082 ffd6b37 --tool=bc4 --cc test.txt

BC0002

Все прекрасно работает.

Теперь проверяем разруливание конфликтов слияния командами

$ git merge newbranch
$ git mergetool --tool=bc4


BC0004

Тоже все работает. И интерфейс довольно приятный и логичный.

Инструменты для работы с Git – SmartSynchronize

Скачиваем тут. Для работы нужна JRE 1.7 или выше. Кроме того это коммерческий продукт, но бесплатен для не коммерческого использования. После скачивания разархивируем из архива и устанавливаем.

Так же можно скачать и портабельную версию тут.

SS0001

SS0002

SS0003

SS0004

SS0005

SS0006

Добавляем путь C:\Program Files (x86)\SmartSynchronize\bin в переменую PATH, дабы было проще настраивать.

SS0010

Запускаем прогу из меню старт и настраиваем.

SS0007

SS0008

SS0009

На этом все. Теперь настраиваем gitconfig

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = wm
        tool = ss

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = ss

[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

В редакторе Far manager это выглядит так

SS0011Теперь проверяем работу сравнения файлов командой


$ git difftool c258082 ffd6b37 --tool=ss --cc test.txt

SS0013

И получаем всплывшее окошко сравнения файлов

SS0012

По ходу у этой тулзы один из самых приятных интерфейсов.

Закрываем и проверяем работу слияния командами

$ git merge newbranch
$ git mergetool --tool=ss


SS0015

SS0014

Разрешаем конфликт, сохраняем и закрываем. Все работает. Эта тулза оставила самые приятные впечатления от работы.

Инструменты для работы с Git – WinMerge

Скачиваем вторую версию тут.

WM0001

И устанавливаем

WM0002

WM0003

WM0004

WM0005

WM0006

WM0007

WM0009

Проверяем запуск

WM0010

WM0011

Ну и настраиваем gitconfig только для использования этой тулзы в качестве тулзы сравнения, поскольку она не может делать треходовое слияние. Но в качестве инструмента сравнения она очень даже ни чего. В принципе ее можно настроить и как инструмент слияния, но только придется уже выбирать между какими ДВУМЯ файлами вы это будете делать.

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu
        tool = wm

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
         tool = p4m
         tool = kdiff3
         tool = dm
         tool = dfu

[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

В редакторе Far manager это выглядит так

WM0012

Теперь проверяем сравнение командой

$ git difftool c258082 ffd6b37 --tool=wm --cc test.txt

WM0013


Получаем всплывшее окошко сравнения

WM0014

На этом с этой утилиткой все.

Кстати сказать, там на сайте, на подходе третья версия. Возможно в ней будет реализовано треходовое слияние.

четверг, 26 февраля 2015 г.

Инструменты для работы с Git – Diffuse

Скачиваем тут и устанавливаем

DF0001

DF0002

DF0003

DF0004

DF0005

Проверяем что путь к проге прописался и ее можно запускать из Run

DF0006

Запустилось.

DF0007

Теперь настраиваем gitconfig на работу с Diffuse. По мне так настройка Diffuse оказалась самой простой. И, в принципе, инструмент очень понятный и простой для работы. Правда при слиянии все четыре окна выставлены в ряд, а не как у P4Merge и KDiff3, где окно слияния располагается снизу под тремя окнами от куда происходит слияние, но возможно это даже и удобнее, так как если текст программы длинный, а это почти всегда так, то это даже удобнее.

Причем порядок следования окон очень легко менять, как из меню так и горячими клавишами, что только добавляет удобства работы с Diffuse.

И так gitconfig в студию!

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm
        tool = dfu

[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

В редакторе Far manager это выглядит так:

DF0008

Проверяем работу сравнения командой

$ git difftool c258082 ffd6b37 --tool=dfu --cc test.txt

DF0009

Все работает!

DF0010

Теперь тестируем разруливание конфликтов слияния командами

$ git merge newbranch
$ git mergetool --tool=dfu


DF0011

Получаем всплывшее окошко

DF0012

Делаем нужные изменения. Сохраняем и т.д. и т.п.

Единственное, что эта прога иногда не корректно обрабатывает переходы на другую строку. Но в принципе оставила приятное впечатление.

Инструменты для работы с Git – DiffMerge

Скачиваем тут версию под вашу ОС.

DM0001
Скачиваем архив zip и разархивируем. Я разархивировал в каталог C:\Program Files\DiffMerge\

Далее все настройки привожу относительно этого пути.

Идем в этот каталог и запускаем sgdm.exe, чтобы настроить программу, а верней кодировки. На мой взгляд это, мягко, говоря не самая удобная программа для просмотра изменений и слияния, так как сама не может определять кодировку файла, а настройки на различные кодировки сделаны не очень удобно. Но это на мой взгляд, может быть вам эта програ понравится.

DM0002

Делай раз, делай два, делай три

DM0003

Делай раз, делай два, делай три

DM0004

Можно, конечно настроить одну кодировку по умолчанию для всех файлов и снести все правила в списке, но так как я тут привожу пример текстового файла то поправил именно эти установки.

Все, с настройками проги все. Теперь надо добавить в файл конфига строчки запуска DiffMerge.

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm

[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]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm

[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

Ну и теперь начинаем тестить тулзу. Даем команду

$ git difftool c258082 ffd6b37 --tool=dm --cc test.txt

DM0005

И получаем всплывшее окошко DiffMerge

DM0006

И так сравнение работает. Теперь проверим слияние. Даем команды

$ git merge newbranch
$ git mergetool --tool=dm


DM0008

И получаем окошко DiffMerge для разруливания конфликта слияния с аннотацией о конфликтах

DM0007

Теперь разрешаем конфликт. Это делается в среднем окне (как по мне так это не очень удобно).

DM0009

Жмем сохранить и выходим из проги. Все конфликт разрешен

DM0010