Заметки консультанта

Шамрай Александр Владимирович

Как заменить стандартный инструмент сравнения / слияния TFS

Posted by Шамрай Александр на Сентябрь 4, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

Как стандартный инструмент для слияния и сравнения различных версий файлов в TFS 2008 используется утилита «C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\diffmerge.exe». Если функционал этой утилиты не вполне удовлетворяет или для некоторых типов файлов лучше использовать другие инструменты (например, для XML, MS Word), то можно заменить его на любой другой, который позволяет работать с параметрами из командной строки. Сделать это можно из MS Visual Studio в параметрах Tools -> Options -> Source Control -> Visual Studio Team Foundation Server -> Configure user tools.

При конфигурировании можно задать для каких типов файлов применять утилиты, для какого действия (сравнения или слияния), какую утилиту использовать и в какой последовательности подставлять параметры командной строки. Можно использовать следующие параметры:

  • %1 Первоначальный файл – файл, который был до изменений;
  • %2 Измененный файл – файл, который содержит последние изменения
  • %3 Базовый файл – первоначальный файл, т.е. если изменения выполнялись над одним файлом двумя разработчиками, и последний выполняет слияние, то первоначальный файл — это файл первого разработчика, измененный – это файл второго разработчика, базовый – это общий предок этих двух файлов
  • %4 Объединенный файл – собственно результат
  • %5 Параметры командной строки Diff (tf diff)
  • %6 метка первоначального файла %1
  • %7 метка измененного файла %2
  • %8 метка базового файла %3
  • %9 Метка объединенного файла %4

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

Product

Command

Arguments

TFS default diffmerge.exe %1 %2 %6 %7 %5 /ignorespace
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 win\vsdiff.exe %1 %2

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

Product

Command

Arguments

TFS default diffmerge.exe /merge %1 %2 %3 %4 %6 %7
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 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 win\vsmerge.exe %3 %1 %2 %4

 

Оригинальный источник: http://blogs.msdn.com/jmanning/articles/535573.aspx

Advertisements

Один ответ to “Как заменить стандартный инструмент сравнения / слияния TFS”

  1. Alexandr said

    спасибо! очень полезная инфа.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: