Как настроить внешнее поведение слияния TortoiseSVN?

У меня возникают проблемы с разрешением конфликтов после слияния с TortoiseSVN.

Я пытаюсь отправить его в BeyondCompare и использовать его трехстороннюю функцию слияния. К сожалению, он отправляет файлы в другом порядке, чем ожидает BeyondCompare, и поэтому он сглаживает все ошибки.

Если я щелкнул правой кнопкой мыши в Проводнике и сказал TortoiseSVN- > Настройки, то в разделе "Внешние программы" > "Инструмент слияния" я могу указать путь к BeyondCompare, но там ничего не существует. Как изменить порядок аргументов, которые он отправляет внешнему инструменту слияния, чтобы я мог заставить вещи отображаться прямо в BeyondCompare?

Ответ 1

Вы можете управлять параметрами, отправленными в приложение внешнего слияния (в данном случае BComp.exe) TortoiseSVN в диалоговом окне TortoiseSVN->Settings->Merge Tools.

Пример использования BeyondCompare для двухстороннего и трехстороннего слияния содержится в технической документации по поддержке BC:

3-way Merge (v3 Pro)

1.    Select Settings from Explorer TortoisSVN submenu.
2.    Switch to the Merge Tool tab.
3.    Change the radio buttons from TortoiseMerge to External.
4.    In the path edits, enter:
5.    "C:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs %base %merged /title1=%yname /title2=%tname /title3=%bname /title4=%mname 

2-way Merge (v3 Std, v2)

Use the same steps as above, but use the command line:

`"C:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs /savetarget=%merged`

Это описано в документах Tortoise SVN, раздел 4.30.5.2 (нет ссылки на подтемы - поиск страницы для Merge Tool):

Подстановка параметров используется так же, как и в программе Diff.

%base - исходный файл без изменений или изменений

%bname - заголовок окна для базового файла

%mine - ваш собственный файл с вашими изменениями

%yname - Заголовок окна для вашего файла

%theirs - файл, который находится в репозитории

%tname - Заголовок окна для файла в репозитории

%merged - конфликтный файл, результат операции слияния

%mname - Заголовок окна для объединенного файла

Например, с Perforce Merge:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

или с KDiff3:

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname

или с Araxis:

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged /a2

или с WinMerge (2.8 или новее):   C:\Path-To\WinMerge.exe %merged

Ответ 2

Ответ выше не работает для нас, поскольку объяснение параметров полезно, но неправильно (по крайней мере для нас)

Правильный порядок для нас был: [Path]\BCompare.exe %base %mine %theirs %merged

Фокус здесь заключается в том, чтобы поменять% своих, а% слито, поскольку Beyond Compare помещает их неправильно. В качестве подсказки: локальный файл всегда должен отображаться справа. Слева должна быть revBase и center revHEAD.

Ответ 3

Только для DiffViewer:

Помимо сравнения 3 и TortioseSVN (TortoiseSVN 1.9.4)

Настройки- > DiffViewer. Переместите радио кнопку на внешний и вставьте в ~

C:\Program Files (x86)\Beyond Compare 3\BCompare.exe% base% mine