Продолжаем рассмотрение интеграции Diff и Merge различных видов текстовых документов в TFS Visual Studio 2010 или Visual Studio 11.
Встроенные в TFS Visual Studio 2010 инструменты Diff и Merge не слишком удобны. Есть лишь выделение цветами отличающихся участков:
Лучше использовать для этой цели консольные приложения, которые легко интегрируются через командную строку, а именно:
Diff
Приложение |
Команда |
Аргументы |
WinDiff |
windiff.exe |
%1 %2 |
DiffDoc (for Word files) |
DiffDoc.exe |
/M%1 /S%2 |
WinMerge |
winmerge.exe |
/ub /dl %6 /dr %7 %1 %2 |
Beyond Compare |
bc2.exe |
%1 %2 /title1=%6 /title2=%7 |
KDiff3 |
kdiff3.exe |
%1 –fname %6 %2 –fname %7 |
Araxis |
compare.exe |
/wait /2 /title1:%6 /title2:%7 %1 %2 |
Compare It! |
Wincmp3.exe |
%1 /=%6 %2 /=%7 |
SourceGear DiffMerge |
DiffMerge.exe |
/title1=%6 /title2=%7 %1 %2 |
Beyond Compare 3 |
BComp.exe |
%1 %2 /title1=%6 /title2=%7 |
TortoiseMerge |
TortoiseMerge.exe |
/base:%1 /mine:%2 /basename:%6 /minename:%7 |
Visual SlickEdit |
winvsdiff.exe |
%1 %2 |
Merge
Приложение | Команда | Аргументы |
KDiff3 | kdiff3.exe | %3 –fname %8 %2 –fname %7 %1 –fname %6 -o %4 |
Visual SourceSafe | ssexp.exe | /merge %1 %2 %3 %4 %6 %7 |
Araxis | compare.exe | /wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4 |
Beyond Compare (2-way merge) |
bc2.exe | %1 %2 /savetarget=%4 /title1=%6 /title2=%7 |
WinMerge (2-way merge) | winmerge.exe | /ub /dl %6 /dr %7 %1 %2 %4 |
Guiffy | guiffy.exe | -s -h1%6 -h2%7 -hm%9 %1 %2 %3 %4 |
Ellie Computing | guimerge.exe | –mode=merge3 %3 %1 %2 –to=%4 –title0=%8 –title1=%6 –title2=%7 –to-title=%9 |
SourceGear DiffMerge | DiffMerge.exe | /title1=%6 /title2=%8 /title3=%7 /result=%4 %1 %3 %2 |
Beyond Compare (3-way merge) |
BComp.exe | %1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9 |
TortoiseMerge | TortoiseMerge.exe | /base:%3 /mine:%2 /theirs:%1 /basename:%8 /minename:%7 /theirsname:%6 /merged:%4 /mergedname:%9 |
Visual SlickEdit | winvsmerge.exe | %3 %1 %2 %4 |
Можно выбрать удобное для себя приложение из вышеперечисленных и прописать его параметры в настройках Microsoft TFS 2010 или Visual Studio 11, как это было расписано в предыдущей статье.
Использование новой версии VisualStudio 11
В VisualStudio 11 Microsoft уделили внимание тому, чтобы работа по сравнению и слиянию файлов стала удобней и продуктивней. Этого по прежнему недостаточно, чтобы переключиться с Araxis Merge на Visual Studio. Но покупка дорогой лицензии Araxis вряд ли будет боле выгодным решением. Итак, в 11 версии VisualStudio Microsoft добавили:
- Поддержку режимов работы “inline” и “side by side” (можно выбрать более удобный для Вас).
- Подсветку синтаксиса (как в редакторе VisualStudio).
- Отдельные изменения в пределах одной строки будут выделены.
- При одновременном сравнении и объединении можно вносить правки, используя все возможности редактора VisualStudio, в том числе отмену изменений, автодополнение и всё остальное!
- Diff отображает хорошую “мини-карту”.
- Можно совершить больше действий из представления (такого как история, и т.д.).
- Diff использует новую функцию – вкладка предварительного просмотра в VisualStudio, чтобы не загромождать документ.
- Улучшенный способ ручного выбора варианта слияния резолюций.
- Интерактивный способ включения/выключения игнорирования пробелов.
Я попробовал – стало действительно удобней! Для того, чтобы у Вас появилась возможность почувствовать, как это работает нужно скачать и поставить Beta-версию VisualStudio или взглянуть на файлы, предоставленные командой разработки TFS в их блоге.
Нижет скриншот сравнения в режиме «side-by-side».
Далее скриншот сравнения в режиме «inside».
И еще один скриншот – использование Мerge:
Кроме этого, Microsoft реализовали дополнительные возможности по Shelf и Baseless Merge, но это уже относится скорее к TFS Source Control идеологии, а не к средствам Merge и Compare.
Наш короткий экскурс в способы сравнения тестовых документов завершен. Надеемся Вам было интересно и будет полезно в дальнейшей работе.