You can control the parameters sent to the external merge application (in this case BComp.exe
) by TortoiseSVN in the TortoiseSVN->Settings->Merge Tools
dialog.
An example of using BeyondCompare for both a two-way and three-way merge is in the BC support documentation:
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`
This is covered in the Tortoise SVN docs, section 4.30.5.2
(no link to subtopics - search the page for Merge Tool
):
Parameter substitution is used in the same way as with the Diff Program.
%base
- the original file without your or the others changes
%bname
- The window title for the base file
%mine
- your own file, with your changes
%yname
- The window title for your file
%theirs
- the file as it is in the repository
%tname
- The window title for the file in the repository
%merged
- the conflicted file, the result of the merge operation
%mname
- The window title for the merged file
For example, with Perforce Merge:
C:\Path-To\P4Merge.exe %base %theirs %mine %merged
or with KDiff3:
C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
--L1 %bname --L2 %yname --L3 %tname
or with Araxis:
C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
/title3:%yname %theirs %base %mine %merged /a2
or with WinMerge (2.8 or later):
C:\Path-To\WinMerge.exe %merged