English | 日本語
Home > Merge > Merge for Windows > Documentation Contents > Integrating with Source Control, Configuration Management and Other Applications

Integrating with Source Control, Configuration Management and Other Applications

Merge integrates with most version control (VC) and software configuration management (SCM) systems that allow a third-party comparison/merging tool to be specified. Other applications, such as editors, also sometimes allow a comparison tool to be specified. Merge can be integrated with such applications via its Automation API or with its command-line utility.

The table below summarizes the applications that we have been told work with Merge.

Integration with many SCM systems requires the Professional Edition of Merge to enable the comparison of two modified versions of a file with their common ancestor.

System Description

Alienbrain This link is to an external website

Certain Avid Alienbrain clients include Merge (see the Alienbrain website This link is to an external website for full details). Merge is fully integrated with the Avid Alienbrain clients that include it.

AllChange This link is to an external website

Intasoft has selected Merge as the preferred comparison and merging tool for its AllChange configuration management product. By creating a Virtual File System (VFS) plugin, Intasoft is the first company to take advantage of the tight integration with SCM systems made possible by Merge. This means that Merge is able to browse AllChange repositories directly, providing a way accurately to control and compare baselines within the AllChange environment. The plugin offers hierarchical comparison of baselines, important for product release management and variant management. Further information is available on the AllChange File System Plugin page, and from the AllChange/Merge integration page This link is to an external website on the Intasoft website.

ClearCase This link is to an external website

Araxis does not have direct experience with Rational ClearCase, but as with most other systems, the compare.exe command-line utility provides a way to launch Merge. A number of customers have kindly contributed the information below.

Ganesh Viswanathan has written the Clearaxis utility This link is to an external website, to integrate Merge with ClearCase. Please note that Araxis has not tested Clearaxis.

In his web log This link is to an external website, Mikolaj Swidzinski has some notes and scripts that can be used to facilitate an integration between Merge and Clearcase.

Another customer reports limited success with using Merge in place of the ClearCase diff tool to check changes to a given file. For Windows, he says that some benefit can be obtained if you edit the \Program Files\Rational\ClearCase\lib\mgrs\map file and change the file name in the third column to c:\progra~1\Araxis\compare.exe (or whatever the full path to the Merge compare.exe file is on your machine).

Yet another customer writes:

The description [above] works with dynamic views: one just has to edit the \Program Files\Rational\ClearCase\lib\mgrs\map file and replace the file name in the third column with the path to the compare.exe command-line utility. For example, c:\progra~1\Araxis\compare.exe.

In case of ClearCase snapshot views, this does not work, since the arguments sent to the comparison tool are not the same. For a file located on a dynamic view, the argument provided to the comparison tool is path_to_file@@version_number. For a file located on a snapshot view, the arguments sent to the comparison tool are: -fname file@@version_number and path_to_file. To be understood by Merge, these arguments must be mapped into something like /titleN:"file@@version_number" path_to_file.

I have written a script in perl to perform this mapping:

$titleN = 0;
for ($i =0; $i <= $#ARGV; $i++) {
  if ($ARGV[$i] eq "-fname") {
    # it is a title, delete the parameter
    $ARGV[$i] = "";
    $titleN += 1;
    ## process next param:
    ## replace it by /titleN:"$argv[$i]"
    $i++;
    $ARGV[$i] = "/title$titleN:\"$ARGV[$i]\"";
  }
}
system "E:/Tools/Araxis~1/Compare.exe @ARGV";

Unfortunately, ClearCase does not support batch files in the \Program Files\Rational\ClearCase\lib\mgrs\map file. As a work-around, I used perl2exe shareware application This link is to an external website to transform the perl script into a Win32 executable.

Araxis has not verified the above information, and it is provided ‘as is’ in the hope that it might be useful. Araxis has been told that Rational are reticent officially to disclose the command line options of its comparison tool. It might be worth contacting Rational to ask them to provide direct support for Merge. Araxis would be very interested to hear from anyone else with positive experiences of integrating Merge with Rational ClearCase.

Continuus/CM
(now Telelogic CM Synergy)
 This link is to an external website

Continuus/CM is reported to work well with Merge using compare.exe. One of our customers was kind enough to provide instructions for Continuus/CM 4.5.

Another customer has reported that Continuus/CM v5.0 and v5.1 also work with the same procedure as detailed for v4.5, except that the customer put the compare executable in the search path rather than putting the full path in the ccm.ini file. The .ini file is also in the Continuus /etc directory rather than in the WINNT directory.

CM Synergy 6.3
for Developers
 This link is to an external website

Ensure that compare.exe is accessible to CM Synergy by adding C:\Program Files\Araxis\Araxis Merge (or the correct path to your Merge installation directory) to your PATH environment variable.

Edit C:\Program Files\Telelogic\CM Synergy 6.3\etc\ccm.properties as follows:

replace

windows.tool.compare.ascii = %ccm_compare

by

windows.tool.compare.ascii = compare.exe
    /max /2 %file1 %file2

and replace

windows.tool.merge.ascii = %ccm_merge

by

windows.tool.merge.ascii = compare.exe /max 
    /wait /3 /a2 %file1 %ancestor %file2 %outfile

Thank you to Herve Burtin for providing these instructions.

CS-RCS This link is to an external website

We have been provided with the following instructions by a customer:

  • Run CS-RCS’s Document Explorer.
  • Choose Project -> Settings -> File Types
  • Either choose a specific file type (e.g. TXT) and click Edit, or click Default to edit the default behaviour.
  • In the Difference Analysis Tool section, choose Custom Tool and fill in the path to compare.exe (located in the Merge installation directory). Ensure that Use long names is checked.
  • In the Merge Analysis Tool section, choose Custom Tool Base1 and fill in the path to compare.exe (located in the Merge installation directory). Ensure that Use long names is checked.

Dreamweaver This link is to an external website

Adobe (Macromedia) Dreamweaver 8 integrates with Araxis Merge and can launch a two-way file comparison. Consequently, the Standard Edition of Merge is sufficient if you will be using it only with Dreamweaver.

To Dreamweaver 8 to use Merge as the file comparison tool:
  • Chose Edit > Preferences....
  • Select the File Compare category.
  • Click the Browse... button to bring up the Select External Editor dialog.
  • Locate and select Compare.exe in the Merge installation folder (typically something like C:\Program Files\Araxis\Araxis Merge).
  • Click the Open button. The full path to the Merge Compare.exe utility should now be shown in the Choose application to compare files entry field.
  • Click OK to dismiss the Preferences dialog.

Eclipse This link is to an external website

See the entry for Subclipse.

Enabler blue This link is to an external website

Softlab’s Enabler blue ships with Merge tightly integrated. More information is available from the Softlab website This link is to an external website.

FinalBuilder This link is to an external website

Araxis Merge can easily be integrated into your FinalBuilder build process. FinalBuilder includes two actions, ‘Araxis Compare Files’ and ‘Araxis Compare Folders’. These enable you to perform file and folder comparisons using Araxis Merge. The actions are configured in the FinalBuilder GUI, and don’t require knowledge of the command line arguments for Merge. The actions can also be used to alter the flow of the build process, depending on the result of the comparison.

FreeVCS This link is to an external website

It has been reported that Merge integrates smoothly into FreeVCS using compare.exe. FreeVCS is widely used in the Delphi community. To configure FreeVCS to use Merge:

  • Open the FreeVCS Project Manager.
  • Choose Options -> Properties -> Compare Tools.
  • Add a custom tool with filename compare.exe (located in the Merge installation directory). The parameters should be %1 %2.

Jalindi Igloo and CVS This link is to an external website

Jalindi Igloo is a program that allows you to connect Microsoft Visual Studio and other IDEs directly to a CVS repository. The program is completely free and can be used anyway you like. When used with CVS for source control it enables seamless integration of Merge with the products on the Jalindi Igloo compatibilty page This link is to an external website.

Perforce This link is to an external website

Merge integrates tightly with Perforce. Araxis provides a Perforce File System Plugin to enable Merge to browse Perforce depots directly. This means that, for example, you can compare branches of source code directly within a depot without syncing them to the client workspace.

If you have Perforce’s P4EXP installed, you can perform various Perforce actions (including Submit and Open for Edit) directly from within Merge. To do this, right-click a file or folder comparison and choose Explorer > Perforce from the context menu that appears.

If you have an older version of Merge v6.5, and your Merge installation folder contains the files p4diff.exe and p4winmrg.exe, please rename them to araxisp4diff.exe and araxisp4winmrg.exe respectively, before undertaking the steps below. This is to address a compatibility issue with recent Perforce clients, which have altered behaviour. This renaming is not necessary with Merge v6.5.2218 and later, as the files are provided under their new names.

To browse Perforce repositories directly from Merge:
To configure P4Win (2000.1 release or later) to use Merge for file comparison and merging:
  • Choose Options... from the Settings menu.
  • Select the Diff/Merge tab.
  • In the Diff Application group, select the User supplied Diff application radio button.
  • Click the Browse button for the user supplied diff application, and select the file araxisp4diff.exe in the Merge installation folder.
  • In Merge Application group, click the Browse and select the file araxisp4winmrg.exe in the Merge installation folder.
  • Dismiss the Options dialog.
  • P4Win should now open Merge for its comparison and interactive merging operations.
To configure P4V (2007.2 release or later) to use Merge for file comparison and merging:
  • Choose Preferences... from the Edit menu (or, in older versions of P4V, the Tools menu).
  • Select the Diff tab.
  • Select the Other application radio button (or Use external application in older versions of P4V).
  • For the Location field, click the Browse button for the user supplied diff application, and select the file araxisp4diff.exe in the Merge installation folder.
  • Ensure that the Arguments field reads %1 %2. This step can be ignored for older versions of P4V, which do not have this field.
  • Select the Merge tab.
  • Select the Other application radio button (or Use external application in older versions of P4V).
  • For the Location field, click the Browse button and select the file araxisp4winmrg.exe in the Merge installation folder.
  • Ensure that the Arguments field reads %b %1 %2 %r. This step can be ignored for older versions of P4V, which do not have this field.
  • Click the OK button to dismiss the Preferences dialog.
  • P4V should now open Merge for its comparison and interactive merging operations.
To configure the Perforce command line tool (p4.exe) to use Merge:
  • Set the P4DIFF environment variable to the full path of the araxisp4diff.exe file in the Merge installation folder.
  • Set the P4MERGE environment variable to the full path of the araxisp4winmrg.exe file in the Merge installation folder.

Source Integrity
Enterprise Edition
 This link is to an external website

MKS Source Integrity Enterprise Edition (SIEE) has the ability to integrate with Merge and MKS have kindly provided the instructions here. You need to set a variable in the client's IntegrityClientSite.rc file called vdiffCommand that points to Merge. An example line would look like the following (all on one line, regardless of the formatting below as shown in your browser):

vdiffCommand=C:/PROGRA~1/Araxis/ARAXIS~1/compare
    /a2 /title1:\"{1}\"
    /title2:\"{2}\" \"{3}\" \"{4}\"

Note: Indentation above indicates continuation of the previous line.

Merge makes use of the title inputs from SIEE, using /title1 and /title2 flags. It is also necessary to use quotes around the inputs, and it is necessary to escape them with backslashes (\). Note that the title inputs from SIEE do not need to be defined, but are useful since without them, the comparison windows of Merge will only show the file name itself (c:\temp\F2EB.tmp vs revision 1.2).

With the vdiffCommand variable in place, Merge integrates almost seamlessly into SIEE's interface.

Source Integrity
Standard Edition
 This link is to an external website

MKS Source Integrity Standard Edition (SISE) version 7.5+ for Windows has the ability to integrate with Merge and MKS have kindly provided the instructions here. SISE makes use of Windows environment variables and can pass this information to Merge. The following is a script (araxis.cmd) which can be added to the SISE's toolbar as a shortcut, and will compare revisions depending on the window you are in (Project or Archive) and what revisions you have selected. The script locates the appropriate revisions and checks them out into a temporary location, and passes the PATHS and other variables to the Merge compare.exe utility.

REM Setup temporary file names
set FILE1="c:\temp\revision1"
set FILE2="c:\temp\revision2"

REM Checkout the two revisions to the temporary files
co -p%MKSSI_REVISION1% %MKSSI_FILE% > %FILE1%
co -p%MKSSI_REVISION2% %MKSSI_FILE% > %FILE2%

REM Substitute the path to compare.exe below with the
    appropriate Merge installation directory on
    your machine (use the short form of the path

REM The following command should be entered
    on a single line
C:/PROGRA~1/Araxis/ARAXIS~1/compare.exe
    /a2 /title1:"Revision %MKSSI_REVISION1%"
    /title2:"Revision %MKSSI_REVISION2%"
    %FILE1% %FILE2%

Note: Indentation above indicates continuation of the previous line.

SourceAnyWhere This link is to an external website

We have preliminary instructions for integrating DynamSoft SourceAnyWhere 4.2.4 with Merge, and would appreciate feedback on these from SourceAnyWhere users, particularly with respect to the merging settings.

To integrate DynamSoft SourceAnyWhere with Merge:
  • Specify the full path to the Merge Compare.exe utility (typically something like C:\Program Files\Araxis\Araxis Merge\Compare.exe) as the Application for diff/merge.
  • In the Arguments for diff files entry field, specify (all on one line):

    /title1:"%FIRST_LABEL%" /title2:"%SECOND_LABEL%" "%FIRST_FILE%" "%SECOND_FILE%"
  • In the Arguments for diff directories entry field, specify (all on one line):

    /title1:"%FIRST_LABEL%" /title2:"%SECOND_LABEL%" "%FIRST_DIR%" "%SECOND_DIR%"
  • In the Arguments for Two-way merge entry field, specify (all on one line):

    /wait /2 /title1:"%FIRST_LABEL%" /title2:"%SECOND_LABEL%" "%FIRST_FILE%" "%SECOND_FILE%" "%RESULT_FILE%"
  • In the Arguments for Three-way merge entry field, specify (all on one line):

    /wait /3 "%THEIRS_FILE%" "%BASE_FILE%" "%YOURS_FILE%" "%RESULT_FILE%"

    Labels have been omitted in this case because the SourceAnyWhere documentation only mentions labels for the first and second files, and it’s not clear what the first and second file are in this case. We suggest some experimentation using the /title1 arguments demonstrated in the other fields. Please let Araxis know if you are successful with this.

SourceOffSite This link is to an external website

For version 2.0 of SourceOffSite, choose the Options... item from the Tools menu, and fill in the fully-qualified path to compare.exe in the Application for comparing files field on the first page (General). We are told by SourceGear that SourceOffSite 3.5.1 should also work well with Merge. The follow caveats apply to version 3.0 and may also apply to other versions:

  • The merge will only work on a Check In operation. SourceOffSite does not support merge on a Get. Ensure that you are performing a Check In that has conflicting changes (due to multiple check outs being enabled in the VSS database).
  • The path to the compare.exe utility must be specified in SourceOffSite without spaces in the path name. If there are spaces in the path name, the compare.exe utility will not work properly.

Support for SourceOffSite is available from the SourceGear website This link is to an external website.

StarTeam This link is to an external website

Starbase inform us that StarTeam v5.1 has the ability to integrate with Merge. To configure StarTeam to use Merge:

  • Go go to Tools->Workstation Options, and choose the Files tab.
  • Select the Merge Utility check box.
  • In the path text box, type the path to the Merge compare.exe executable. For example, C:\Program Files\Araxis\Araxis Merge\compare.exe
  • In the Options text box, type /wait /title1:"Branch Tip" /title2:"Common Ancestor (merge here)" /title3:"Your Version" /3 $branchtip $basefile $usertip $resultfile
  • Click OK.

This works because:

  • $branchtip is a placeholder for the path to the tip revision of the file to be merged.
  • $usertip is a placeholder for the path to the local working file to be merged.
  • $basefile is a placeholder for the path to the common ancestor for the $branchtip and $usertip files. It is important that the common ancestor is displayed in the middle file panel of Merge, which is why $basefile is the second filename argument in the Options text box. This is because you merge the required changes from the left and right file panels into the middle one, and then save the middle file panel’s contents as the resulting merged file.
  • $resultfile is a placeholder for the path to the file that will store the output from the merged file. Merge will offer this as the default filename when you save the contents of the middle file panel.
  • The three /titleN options provide meaningful names for the three file panels within Merge.

Each time that StarTeam needs to call Merge, it replaces the terms that start with $ with actual paths to those files and asks the operating system to execute the completed command.

Subclipse This link is to an external website

Subclipse, an Eclipse plug-in providing support for Subversion within the Eclipse IDE, can be configured to use Merge as its merging tool. Once that has been done, Merge will be used whenever you choose Edit Conflicts from a Team menu in Eclipse.

Merge can also integrate directly with Subversion. Please see Subversion for more information.

To configure Merge as the Subclipse merging tool:
  • In the Eclipse Preferences window, select the Team > SVN > Diff/Merge page.
  • Select the External radio button.
  • In the adjacent entry field, enter the following (all on one line):

    C:\Program Files\Araxis\Araxis Merge\compare.exe

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the full path of the Merge installation directory on your machine.

  • In the Parameters field, enter the following (all on one line):

    /a2 /max /wait /3 /title1:"Theirs" /title2:"Common Ancestor" /title3:"Yours" "${theirs}" "${base}" "${yours}" "${merged}"

Subversion This link is to an external website

Merge integrates well with Subversion. Araxis provides a Subversion File System Plugin to enable Merge to browse Subversion depots directly. This means that, for example, you can compare branches of source code directly within a depot without syncing them to the client workspace.

See also the entries for Subclipse and TortoiseSVN.

To browse Subversion repositories directly from Merge:
To configure the Subversion command-line tool (svn) to use Merge:
  • Open your ‘SVN configuration area’ configuration file in a text editor. The default location for this file is %APPDATA%\Subversion\config.
  • Uncomment the line that specifies the diff-cmd and set its value to the path of the Merge AraxisSVNDiff.exe executable in the Merge installation folder. For example (all on one line):

    diff-cmd = C:\Program Files\Araxis\Araxis Merge\AraxisSVNDiff.exe
  • Also uncomment the line that specifies the diff-cmd3 and set its value to the path of the Merge AraxisSVNDiff3.exe executable in the Merge installation folder. For example (all on one line):

    diff3-cmd = C:\Program Files\Araxis\Araxis Merge\AraxisSVNDiff3.exe
  • Save the modified configuration file and exit the text editor.
  • Merge will now be launched when performing Subversion commands (e.g. svn diff and svn merge) that require a two or three-way comparison.

Team Foundation This link is to an external website

See the entry for Visual Studio Team Foundation.

The Operations Pack (TOP) for HP NonStop This link is to an external website

Gresham Software Labs states that its TOP software now provides built-in support for comparing and merging files on NonStop servers using Araxis Merge.

To configure Araxis Merge as the tool to perform comparison/merging within TOP:
  • Start TOP (make sure you have version 4.5.1 or later).
  • Open the Global Options dialog (Session > Options > Global) and select the File Compare tab.
  • Click on the Browse button and navigate to the Araxis Merge installation directory. Select the file compare.exe.
  • Click the Araxis Merge button in the Options dialog to make the command-line parameter format match those of Araxis Merge.
  • Click OK.
To use Araxis Merge from within TOP:
  • Select one or more files in the main system explorer window.
  • Right-click to bring up the context-sensitive menu.
  • Select the Compare menu item.

TortoiseSVN This link is to an external website

The External Programs section of the TortoiseSVN Settings window enables external diff and merging programs to be configured.

Merge can also integrate directly with Subversion. Please see Subversion for more information.

To configure Merge as the Diff Viewer:
  • In the TortoiseSVN Settings window, select the Diff Viewer page (located under External Programs).
  • Select the External radio button.
  • In path field, enter the following (all on one line):

    "C:\Program Files\Araxis\Araxis Merge\compare.exe" /max /wait /title1:%bname /title2:%yname %base %mine

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the full path of the Merge installation directory on your machine.

To configure Merge as the Merge Tool:
  • In the TortoiseSVN Settings window, select the Merge Tool page (located under External Programs).
  • Select the External radio button.
  • In path field, enter the following (all on one line):

    "C:\Program Files\Araxis\Araxis Merge\compare.exe" /a2 /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the full path of the Merge installation directory on your machine.

TrackWare This link is to an external website

Certain GlobalWare TrackWare clients include Merge (see the GlobalWare website This link is to an external website for full details). Merge is fully integrated with the TrackWare clients that include it.

Visual SourceSafe This link is to an external website

Merge includes a file system plugin that enables Merge to access files and folders within a SourceSafe database.

Visual SourceSafe 2005 enables third party tools like Merge to be used for comparison and merging. To configure Visual SourceSafe to use Merge, first open the SourceSafe Options dialog:

  • In Visual Studio.NET 2005: Tools > Options... > Source Control > Plug-in Settings > Advanced....
  • In the Visual SourceSafe 2005 client: Tools > Options....

Next, go to the Custom Editors page and add two new entries to the Editors list:

File Extension Operation Command Line
.* File Difference C:\Program Files\Araxis\Araxis Merge\araxisp4diff.exe %1 %2
.* File Merge C:\Program Files\Araxis\Araxis Merge\araxisp4winmrg %3 %1 %2 %4

In the above command lines, replace C:\Program Files\Araxis\Araxis Merge\ with the full path to your Merge installation directory.

Having configured these options, Merge will be used by both Visual Studio 2005 and Visual SourceSafe 2005 to compare and merge files.

Visual Studio Team Foundation This link is to an external website

Team Foundation integrates with Araxis Merge for both file comparison and merging.

The arguments for merging are taken from James Manning’s Blog This link is to an external website. Yonatan Leonov has also written about using Merge with Team Foundation This link is to an external website, with a particular emphasis on Merge Standard.

To configure Merge as the Team Foundation difference tool:
To configure Merge Professional as the Team Foundation merging tool:
  • Familiarize yourself with Microsoft’s How to: Associate a File Type with a Merge Tool This link is to an external website instructions.
  • In step 8 of those instructions, provide the following in the Arguments entry field:

    /wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4
To configure Merge Standard as the Team Foundation merging tool:

WinCvs This link is to an external website

WinCvs v1.2

To configure WinCvs v1.2 to use Merge as its comparison program:

  • In the Diff settings property sheet, select the Diff settings tab and ensure that the Use the external diff checkbox is checked.
  • In the WinCvs Preferences property sheet, select the WinCvs tab. Check the External diff program checkbox and specify the fully-qualified path to compare.exe in the associated entry field.

WinCvs could be further improved to allow three-way comparisons and merges to be invoked and also to supply meaningful titles for files using the -titleN compare.exe command-line option.

WinCvs v1.1

WinCvs v1.1 enables an external diff program to be specified in its preferences property sheet. This is documented in Section 3.2.5 of the WinCvs documentation This link is to an external website. Specify the full path to the Merge compare.exe program in the WinCvs property sheet as the External diff program.

Other applications

If your application isn’t in the above list and you manage to successfully use Merge with it, or if you have corrections to the information presented here, please contact us to let us know so that we can update this list. It would be especially helpful if you could include detailed instructions for configuring your Application to use Merge so that we can provide them here.

If the Application product that you use doesn’t allow a third-party tool to be specified, please contact the developers and request that they support Merge. In the meantime, you can still use Merge efficiently as a standalone application.

Let us help you!

If you are the developer of an application that could benefit from integration with Merge, Araxis would be pleased to assist you integrate Merge with your product. Please contact Araxis for further information.