如何配置TortoiseSVN的外部合并行为?

Mas*_*ler 13 svn tortoisesvn beyondcompare

在与TortoiseSVN合并后,我在运行冲突解决方案时遇到了一些麻烦.

我正在尝试将数据发送到BeyondCompare并使用其3向合并功能.不幸的是,它以与BeyondCompare期望的顺序不同的顺序发送文件,因此它的合并完全错误.

如果我在资源管理器中右键单击并说出TortoiseSVN->设置,那么在外部程序 - >合并工具下我可以指定BeyondCompare的路径,但是参数没有任何内容.如何重新排序它发送到外部合并工具的参数,以便我可以在BeyondCompare中显示正确的内容?

Ken*_*ite 15

您可以BComp.exe通过TortoiseSVN->Settings->Merge Tools对话框中的TortoiseSVN 控制发送到外部合并应用程序(在本例中)的参数.

使用BeyondCompare进行双向和三向合并的示例在BC支持文档中:

3-way Merge (v3 Pro)

1.    Select Settings from Explorer's 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`
Run Code Online (Sandbox Code Playgroud)

这在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