IBM Support

How to use BeyondCompare with IBM Rational Synergy clients for merge and compare

Technote (FAQ)


Question

How do you set-up IBM Rational Synergy clients to work with BeyondCompare for merge and compare?

Cause

Additional details are required for this third party tool.

Answer

The information below offers alternative solutions which have been used previously when the details described on the Scooter Software website do not work. There is also an additional point on how to pass Java switches to the compare and merge tool.

If you do not use the syntax, as specified on the Scooter website (above), then this will not work.

Please contact Rational Client Support should the information provided not resolve your issue.

Set-up the Classic client to use BeyondCompare, by specifying in your %USERPROFILE%\ccm.ini file:


    merge_cmd = "C:\PROGRA~1\BEYOND~1\BC2.exe" %file1 %file2 /savetarget=%outfile    

Then once you select Interactive Merge from within Synergy, you merely have to save one side or the other, or Save as and Synergy will create the next version.


If you do not use the syntax, as specified on the Scooter website (above), then this will not work, hence:

Go into your %USERPROFILE% directory (type %userprofile% in explorer address bar if you are unsure where this is).


Create a backup of the file named ccm.ini then edit ccm.ini and change the lines for Compare_cmd and merge_cmd to:


    compare_cmd = C:\Progra~1\Beyond~1\bc2.exe %file1 %file2                  

    merge_cmd = C:\Program~1\Beyond~1\bc2.exe %file1 %file2 /savetarget=%outfile        




For the Synergy client, also known as Java or Developer client:

First of all create a batch file in the BeyondCompare binary directory which has the contents:

    @echo off                                                                

    "C:\PROGRA~1\BEYOND~1\B2C.exe" %1 %2 "/mergeoutput=%3"  


    although the following is also known to work:

      C:\tool\bc\BC2.exe" %1 %2 /mergeoutput=%3

Then in the %USERPROFILE%\ccm.user.properties you need to specify:

    windows.tool.merge.ascii=C\:\\PROGRA~1\\BEYOND~1\\B2C.bat %file1 %file2 %outfile                                                                

There seems to be an issue sending the /savetarget (a.k.a. /mergeoutput) argument from the Synergy client with  %outfile, but calling this from a batch file seems to work.


Also, if you are experiencing Out of memory issues due to the size of the merge, then you can specify additional settings, for example:


    merge_cmd = "C:\Program Files\IBM\Rational\Synergy\7.1\jre\bin\java" -Xms256M -Xmx512M -cp              "C:\Program Files\IBM\Rational\Synergy\7.1\lib\ccm_merge.jar" merge.Merge -3 %file1 %file2 -r %outfile -a %ancestor %file1_label %file2_label Results

.
Alternatively, the path to the compare tool can be directly set in %USERPROFILE%\ccm.user.properties or %CCM_HOME\etc\ccm.properties using absolute paths or UNC paths:

    windows.tool.compare.ascii="C:\Beyond Compare 3\BCompare.exe" "%file1" "%file2"

    or:

    windows.tool.compare.ascii="\\\\<servername>\\Beyond Compare 3\\BCompare.exe" "%file1" "%file2"


In the second example, the "Beyond Compare 3" directory must be read-shared.


NOTES:
  • The Synergy client must be stopped before adding a line to %USERPROFILE%\ccm.user.properties or else the changes will be reversed when closing the Synergy client.

  • If a line in%USERPROFILE%\ccm.user.properties is to be edited rather than added, remove the line while the client is stopped, then restart and stop the Synergy client again, then add the correct line to %USERPROFILE%\ccm.user.properties and then restart the client again.

Document information

More support for: Rational Synergy
General Information

Software version: 6.5a, 6.5, 6.6a, 7.0, 7.1a, 7.1, 7.2, 7.2.1

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Reference #: 1402430

Modified date: 28 January 2010