Как настроить TFS для работы с различными инструментами слияния - PullRequest
26 голосов
/ 21 августа 2009

Изначально вопрос был «Как настроить WinMerge в качестве инструмента сравнения и слияния для TFS». Однако я меняю его, потому что TehOne ответил на эту более общую форму вопроса.

Я бы сказал, что об этом уже спрашивали в Stackoverflow. Я нашел ответ в другом месте, но я спрашиваю / отвечаю здесь. Теперь это вики сообщества.

Ответы [ 3 ]

33 голосов
/ 22 августа 2009

Когда я искал, как это сделать, я обнаружил, что этот пост неоценим: http://blogs.msdn.com/jmanning/articles/535573.aspx

12 голосов
/ 21 августа 2009

Длинная процедура предоставляется в блоге Рори Примроуз

Краткий ответ - список аргументов для сравнения:

/x /e /ub /wl /dl %6 /dr %7 %1 %2

и список аргументов для слияния:

/x /e /ub /wl /dl %6 /dr %7 %1 %2 %4

Иногда Winmerge не возвращает 0, и TFS будет думать, что слияние было отменено. Для слияния необходимо использовать следующий пакетный файл оболочки:

@rem winmergeFromTFS.bat
@rem 2007-08-01
@rem File created by Paul Oliver to get Winmerge to play nicely with TFS
@rem
@rem To use, tell TFS to use this command as the merge command
@rem And then set this as your arguments:
@rem  %6 %7 %1 %2 %4
"C:\Program Files\WinMerge\WinMerge.exe" /x /e /ub /wl /dl %1 /dr %2 %3 %4 %5
exit 0

И затем вы устанавливаете список аргументов на:

%6 %7 %1 %2 %

выход 0

0 голосов
/ 10 июля 2013

Для SourceGear DiffMerge вам нужно изменить командную строку по умолчанию на:

C: \ Program Files (x86) \ SourceGear \ Vault Client \ sgdm.exe

Я нашел параметры в этой теме на форумах поддержки SourceGear, а также в блоге Джеймса Мэннинга, упомянутом @TehOne, но приведенные там аргументы неверны , и результат автоматическое слияние выполняется в обратном порядке, т.е. старый код перезаписывает новый код. Правильные аргументы:

/ m / t1 =% 6 / t2 =% 7 / t3 =% 8 / c =% 9% 1% 3% 2 / r =% 4

...