13

与 TortoiseSVN 合并后,我在运行冲突解决时遇到了一些问题。

我试图让它将数据发送到 BeyondCompare 并使用它的 3 路合并功能。不幸的是,它发送文件的顺序与 BeyondCompare 所期望的顺序不同,因此合并完全错误。

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

4

3 回答 3

15

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

BC 支持文档中有一个使用 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 文档部分4.30.5.2(无子主题链接 - 搜索页面Merge Tool)中进行了介绍:

参数替换的使用方式与 Diff 程序相同。

%base - 没有您或其他人更改的原始文件

%bname- 基本文件的窗口标题

%mine- 您自己的文件,以及您的更改

%yname- 文件的窗口标题

%theirs- 存储库中的文件

%tname- 存储库中文件的窗口标题

%merged- 冲突文件,合并操作的结果

%mname- 合并文件的窗口标题

例如,使用 Perforce 合并:

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

于 2012-06-22T00:35:29.967 回答
1

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

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

这里的诀窍是交换 %theirs 和 %merged ,因为 Beyond Compare 将它们放错了位置。作为提示:本地文件必须始终显示在右手边。左边必须是 revBase 和中心 revHEAD。

于 2013-11-05T10:07:48.677 回答
0

仅针对 DiffViewer:

Beyond Compare 3 和 TortioseSVN (TortoiseSVN 1.9.4)

设置-> 差异查看器。将单选按钮移动到外部并粘贴到〜

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

于 2017-05-29T23:17:34.323 回答