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

时间:2012-06-22 00:09:53

标签: svn tortoisesvn beyondcompare

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

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

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

3 个答案:

答案 0 :(得分:15)

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

BC support documentation中使用BeyondCompare进行双向和三向合并的示例:

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`

Tortoise SVN docs部分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

答案 1 :(得分:1)

上面的答案对我们不起作用,因为参数的解释是有帮助的但是错误的(至少对我们而言)

我们的正确顺序是: [Path]\BCompare.exe %base %mine %theirs %merged

这里的诀窍是交换%他们和%合并,因为Beyond Compare错误。作为提示:必须始终在右侧显示本地文件。左必须是revBase和center revHEAD。

答案 2 :(得分:0)

仅适用于DiffViewer:

超越比较3和TortioseSVN(TortoiseSVN 1.9.4)

设置> DiffViewer。将单选按钮移动到外部并粘贴到〜

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