Integrating with Source Control, Configuration Management and Other Applications

Merge for Windows integrates with most version control (VC), software configuration management (SCM) and other applications that allow a third-party file comparison (diff) or file merging tool to be specified. This page contains instructions for integrating Merge with the following applications:

Information 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.

Other applications

If your chosen application isn’t listed above, you may be able to integrate Merge with it yourself using the Merge .NET assembly, Automation API, or command-line utility. The .NET assembly or Automation API can, in general, enable tighter integration with other applications than the command-line utility.

If you have instructions for integrating Merge with other systems, or corrections to the information presented below, please contact us to let us know so that we can update this list.

AccuRev

The AccuRev Windows client can be configured to use Araxis Merge for file comparison and merge operations:

  • Choose Preferences… from the Tools menu.

  • Select the Diff/Merge tab.

  • In the Diff entry field, enter the following:

    "C:\Program Files\Araxis\Araxis Merge\Compare.exe" /wait /2 /title1:"%3%" /title2:"%4%" %1% %2%
    

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

  • In the Merge entry field, enter the following:

    "C:\Program Files\Araxis\Araxis Merge\compare" /wait /a3 /3 /title1:"Overlapping version" /title2:"Workspace version" /title3:"Common ancestor" %1% %2% %a% %o%
    

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

  • Dismiss the Preferences dialog by clicking OK.

Alienbrain

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

AllChange

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 on the Intasoft website.

ClearCase

Several customers have kindly contributed the alternatives below for integrating Merge and ClearCase. Please note that Araxis has not tested these possibilities, and they are provided ‘as is’ in the hope that they may be useful.

To integrate ClearCase with Merge:
  • Michael McTernan has written the clearmerge utility to register Araxis Merge as the ClearCase graphical diff and, in the case of Merge Professional, the ClearCase merge tool.

  • 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 to transform the perl script into a Win32 executable.

CS-RCS

We have been provided with the following instructions for integrating Merge with CS-RCS by a customer:

  • Run CS-RCS’s Document Explorer.
  • Choose ProjectSettingsFile 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

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 configure Dreamweaver 8 to use Merge as the file comparison tool:
  • Chose EditPreferences….
  • 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

For Eclipse, see the entry for Subclipse.

FinalBuilder

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

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 OptionsPropertiesCompare Tools.
  • Add a custom tool with filename compare.exe (located in the Merge installation directory). The parameters should be %1 %2.

Git for Windows (msysGit)

Merge integrates tightly with Git for Windows. Araxis provides a Git File System Plugin to enable Merge to access files in Git repositories directly. For file comparisons (but not folder comparisons), Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

Git for Windows can also be configured to use Merge for file comparison and merge operations.

The following configuration step has been tested using Git for Windows v1.9.2.

To use Araxis Merge for file comparison and file merging:
  • Update the appropriate Git configuration file by adding the following diff and merge tool configurations:

    [diff]
    tool = araxis
    [difftool "araxis"]
    path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
    
    [merge]
    tool = araxis
    [mergetool "araxis"]
    path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe
    

    Note: in the above paths, replace C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe with the full path to the Merge compare.exe command-line utility that you have installed on your machine. Note the use of double-backslashes to separate path elements.

  • To compare files, use the git difftool command. To resolve conflicting changes after merging files from a branch or remote repository, use git mergetool.

  • As of Git v1.7.11, the git difftool command can be run with the --dir-diff option. This will open a folder comparison showing all the changed files.

Git (Windows Subsystem for Linux)

As of version 2017.4929, Merge can be integrated with Git running under the Windows Subsystem for Linux (WSL), provided that all the repositories and files to be accessed by Merge are stored on the Windows filesystem (e.g. under /mnt/c, from the perspective of WSL). Please read the following warning carefully to understand the reason for this limitation.

Warning CRITICALLY IMPORTANT: Under no circumstance should you create and/or modify Linux files using Windows applications such as Araxis Merge. Due to the design of WSL, breaking this rule will likely result in loss of data and/or damage to your Linux environment. The integration of Merge with Git and Mercurial running under WSL therefore requires that you store repositories and files to be used from both Windows and WSL on the Windows filesystem (e.g. under /mnt/c, from the perspective of WSL). For more information, please see Do not change Linux files using Windows apps and tools.

Warning The integration instructions in this section endeavour to adhere to the above restriction, but there may nevertheless be certain cases not taken into account. When saving or copying any file or folder using Merge, you are therefore advised to verify that the file or folder is not being written to the WSL file area under %localappdata%\lxss\.

To use Araxis Merge for file comparison and file merging:
  • Since Git creates temporary files for comparison when git difftool is invoked, it is necessary to ensure that the TMPDIR environment variable is set to a temporary directory located on the Windows filesystem (e.g. under /mnt/c, from the perspective of WSL). One way of doing this is to create an alias for the git command that will set TMPDIR appropriately when running Git. To do this, add the following to your .bashrc:

    . "/mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_utilities"
    alias git="env TMPDIR='$(windows_tmp_dir_as_unix_path)' git"
    

    Note: replace /mnt/c/Program Files/Araxis/Araxis Merge in the above with the full path to the Merge installation folder on your machine.

    Warning If you chose to set TMPDIR using this alias, you should only ever invoke Merge from Git using that alias. If you invoke Merge from Git under WSL via other means (e.g. from other applications or scripts), you should be sure to set TMPDIR appropriately before so doing.

  • Update the appropriate Git configuration file by adding the following diff and merge tool configurations:

    [diff]
    tool = araxis
    [difftool "araxis"]
    cmd = '/mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_git_compare' $BASE $LOCAL $REMOTE
    
    [merge]
    tool = araxis
    [mergetool "araxis"]
    cmd = '/mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_git_merge' $BASE $LOCAL $REMOTE $MERGED
    

    Note: in the above paths, replace /mnt/c/Program Files/Araxis/Araxis Merge with the full path to the Merge installation folder on your machine.

  • To compare files, use the git difftool command. To resolve conflicting changes after merging files from a branch or remote repository, use git mergetool.

  • If you run git difftool with the --dir-diff option (which will open a folder comparison showing all the changed files), you will also need to specify --no-symlinks. This is because --dir-diff otherwise writes symbolic links to the temporary directory, which is located on a Windows filesystem (courtesy of TMPDIR having been set by the Bash git alias), and Linux symbolic links do not work on Windows filesystems.

Git (Cygwin)

Git on Cygwin can be configured to use Merge for file comparison and merge operations.

The following configuration step has been tested using the Cygwin distribution of Git v1.7.1.

To use Araxis Merge for file comparison and file merging:
  • Update the appropriate Git configuration file by adding the following diff and merge tool configurations:

    [diff]
    tool = araxis_merge
    [difftool "araxis_merge"]
    cmd = '/cygdrive/c/Program Files/Araxis/Araxis Merge/Compare.exe' /2 /wait `cygpath -w $LOCAL` `cygpath -w $REMOTE`
    
    [merge]
    tool = araxis_merge
    [mergetool "araxis_merge"]
    cmd = '/cygdrive/c/Program Files/Araxis/Araxis Merge/Compare.exe' /3 /a2 /wait `cygpath -w $REMOTE` `cygpath -w $BASE` `cygpath -w $LOCAL` `cygpath -w $MERGED`
    

    Note: in the above paths, replace /cygdrive/c/Program Files/Araxis/Araxis Merge/Compare.exe with the full path to the Merge compare.exe command-line utility that you have installed on your machine.

  • To compare files, use the git difftool command. To resolve conflicting changes after merging files from a branch or remote repository, use git mergetool.

  • As of Git v1.7.11, the git difftool command can be run with the --dir-diff option. This will open a folder comparison showing all the changed files.

Git Extensions

Git Extensions, a graphical user interface for Git, is easily configured to use Merge for file comparison and merging operations.

The following steps have been tested with Git Extensions v2.47.3.

To use Araxis Merge for file comparison and file merging:
  • In the Git Extensions browser, select Settings from the Tools menu.
  • In the Settings window, select Global Settings from the tree on the left.
  • In the Mergetool drop-down field, select Araxis.
  • In the Path to mergetool field, enter the following:

    C:/Program Files/Araxis/Araxis Merge/Compare.exe
    
  • In the Difftool drop-down field, select araxis.
  • In the Path to difftool field, enter the following:

    C:/Program Files/Araxis/Araxis Merge/Compare.exe
    

IBM Rational Synergy

IBM Rational Synergy can be configured to work with Merge.

Ensure that compare.exe is accessible to 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\IBM\Rational\Synergy\7.1\etc\ccm.properties file as follows:

replace

windows.tool.compare.ascii = %ccm_compare

with

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

and replace

windows.tool.merge.ascii = %ccm_merge

with

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

Thank you to Herve Burtin for providing the original instructions.

For further information on integrating third-party software tools with Synergy, see the Synergy documentation on the IBM website.

IntelliJ IDEA/PhpStorm

IntelliJ IDEA and PhpStorm can be configured to use Merge for file and folder comparisons, and also for file merging. The following steps have been tested with IntelliJ IDEA 12.1.1.

To configure IntelliJ IDEA/PhpStorm to use Merge as the file and folder comparison tool:
  • Choose FileSettings…

  • Select External Diff Tools in the list on the left side of the Settings window.

  • Check the Use external tool to compare folders checkbox. In the accompanying Path to executable field, enter:

    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.

  • Check the Use external tool to compare files checkbox. In the accompanying Path to executable field, enter:

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

    Information 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 IntelliJ IDEA/PhpStorm to use Merge as the merging tool:
  • Choose FileSettings…

  • Select External Diff Tools in the list on the left side of the Settings window.

  • Check the Use external merge tool checkbox. In the accompanying Path to executable field, enter:

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

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

  • Enter the following in the Parameters field:

    /a2 /3 /title1:Theirs /title2:Ancestor /title3:Yours %3 %2 %1 %4
    

Information If Merge is used to make changes to a file that IntelliJ IDEA/PhpStorm has stored in memory, perhaps following a merge operation, IntelliJ IDEA/PhpStorm may ask whether you wish to keep the file it has in memory or update it with the contents of the modified file on disk. It is most likely you will want to load changes from disk following a merging operation.

Jalindi Igloo and CVS

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.

Mercurial

Merge integrates tightly with Mercurial. Araxis provides a Mercurial File System Plugin to enable Merge to access files in Mercurial depots directly. Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

Mercurial can also be configured to use Merge for file/folder comparison and file merge operations. The comparison integration uses the Extdiff extension, which is supplied with Mercurial.

The following integration instructions have been tested with Mercurial v4.2.1.

To configure Mercurial to use Araxis Merge for file merging:
  • Update the appropriate Mercurial configuration file to add the following merge tool configuration:

    [merge-tools]
    araxismergetool.premerge = False
    araxismergetool.args = /3 /a2 /wait /title1:"Other" /title2:"Base" /title3:"Local: "$local $other $base $local $output
    araxismergetool.executable = C:\Program Files\Araxis\Araxis Merge\ConsoleCompare.exe
    araxismergetool.checkconflict = True
    araxismergetool.binary = True
    araxismergetool.gui = True
    

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ConsoleCompare.exe with the full path to the Merge ConsoleCompare.exe command-line utility that you have installed on your machine.

To configure Mercurial to use Araxis Merge for file comparison:
  • Update the appropriate Mercurial configuration file to create a new hg sub-command, arxdiff:

    [extensions]
    extdiff =
    
    [extdiff]
    cmd.arxdiff = C:\Program Files\Araxis\Araxis Merge\ConsoleCompare.exe
    opts.arxdiff = /wait /title1:$plabel1 /title2:$clabel /2 $parent1 $child
    

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ConsoleCompare.exe with the full path to the Merge ConsoleCompare.exe command-line utility that you have installed on your machine.

    The /wait argument to ConsoleCompare.exe is required to enable file comparisons to be recompared as a different type (text, binary or image) from within Merge and, in the case when Mercurial launches a folder comparison, to enable file comparisons to be launched from that folder comparison.

Examples of using hg arxdiff:
  • Launch a two-way file comparison showing the changes to a modified file myfile.c:

    hg arxdiff myfile.c
    
  • Launch a two-way file comparison of revisions 1 and 2 of myfile.c:

    hg arxdiff -r1 -r2 myfile.c
    
  • Launch a two-way file or folder comparison (as appropriate, depending upon the number of files modified) to show all the changes within the current working directory:

    hg arxdiff
    
  • Launch a two-way file or folder comparison (as appropriate, depending upon the number of files modified) to show all the changes applied by the changeset with id 0bc544fad9e6:

    hg arxdiff -c 0bc544fad9e6
    

Mercurial (Windows Subsystem for Linux)

As of version 2017.4929, Merge can be integrated with Mercurial running under the Windows Subsystem for Linux (WSL), provided that all the repositories and files to be accessed by Merge are stored on the Windows filesystem (e.g. under /mnt/c, from the perspective of WSL). Please read the following warning carefully to understand the reason for this limitation.

Warning CRITICALLY IMPORTANT: Under no circumstance should you create and/or modify Linux files using Windows applications such as Araxis Merge. Due to the design of WSL, breaking this rule will likely result in loss of data and/or damage to your Linux environment. The integration of Merge with Git and Mercurial running under WSL therefore requires that you store repositories and files to be used from both Windows and WSL on the Windows filesystem (e.g. under /mnt/c, from the perspective of WSL). For more information, please see Do not change Linux files using Windows apps and tools.

Warning The integration instructions in this section endeavour to adhere to the above restriction, but there may nevertheless be certain cases not taken into account. When saving or copying any file or folder using Merge, you are therefore advised to verify that the file or folder is not being written to the WSL file area under %localappdata%\lxss\.

To configure Mercurial to use Araxis Merge for file merging and file comparison:
  • Update the appropriate Mercurial configuration file to add the following merge tool configuration, and to create a new hg arxdiff sub-command:

    [trusted]
    # all files under /mnt/c, etc. on WSL appear to Linux applications to be owned by root
    users = root
    
    [merge-tools]
    araxismergetool.executable = /mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_hg_merge
    araxismergetool.args = $other $base $local $output
    
    [extensions]
    extdiff =
    
    [extdiff]
    cmd.arxdiff = /mnt/c/Program Files/Araxis/Araxis Merge/arx_wsl_hg_compare
    opts.arxdiff = $plabel1 $clabel $parent1 $child
    
    [hooks]
    # Native Windows apps must not access the WSL filesystem. Hg will call external
    # diff/merge tools with files in a temporary directory. Thus, it is necessary
    # to have these hooks to ensure that the temporary directory is located on the
    # Windows filesystem. If these hooks are not working correctly, an 'Unable to
    # translate current working directory' error will occur when Mercurial invokes
    # Merge.
    pre-arxdiff.tmpdir = python:/mnt/c/Program Files/Araxis/Araxis Merge/arx-wsl-change-tmp-dir.py:set_tmp_dir
    pre-merge.tmpdir = python:/mnt/c/Program Files/Araxis/Araxis Merge/arx-wsl-change-tmp-dir.py:set_tmp_dir
    

    Note: in the above paths, replace /mnt/c/Program Files/Araxis/Araxis Merge with the full path to the Merge installation folder on your machine.

  • Please also see Examples of using hg arxdiff in the Mercurial section above.

Mercurial (Cygwin)

It has been reported that Mercurial will work within Cygwin. The following configuration has not been tested but is expected to work. Please see the previous entry for examples of using a configuration such as this.

To configure Mercurial to use Araxis Merge for file merging:
  • Update the appropriate Mercurial configuration file to add the following merge tool configuration:

    [merge-tools]
    araxismergetool.premerge = False
    araxismergetool.executable = /cygdrive/c/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe
    araxismergetool.args = /3 /a2 /wait /title1:"Other" /title2:"Base" /title3:"Local: $(cygpath -w $local)" "$(cygpath -w $other)" "$(cygpath -w $base)" "$(cygpath -w $local)" "$(cygpath -w $output)"
    araxismergetool.checkconflict = True
    araxismergetool.binary = True
    

    Note: in the above path, replace /cygdrive/C/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe with the full Cygwin path to the Merge ConsoleCompare.exe command-line utility that you have installed on your machine.

To configure Mercurial to use Araxis Merge for file comparison:
  • Update the appropriate Mercurial configuration file to create a new hg sub-command, arxdiff:

    [extensions]
    extdiff =
    
    [extdiff]
    cmd.arxdiff = /cygdrive/c/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe
    opts.arxdiff = /2 /wait /title1:$plabel1 /title2:$clabel "$(cygpath -w "$parent1")" "$(cygpath -w "$child")"
    

    Note: in the above path, replace /cygdrive/C/Program Files/Araxis/Araxis Merge/ConsoleCompare.exe with the full Cygwin path to the Merge ConsoleCompare.exe command-line utility that you have installed on your machine.

  • Please also see Examples of using hg arxdiff in the Mercurial section above.

Perforce

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. Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

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 ExplorerPerforce from the context menu that appears.

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.

Serena Dimensions CM

Merge is now bundled with Serena Dimensions CM 14 and later. Please contact Serena if you require assistance using Merge with Dimensions CM.

SmartGit/Hg

SmartGit/Hg can be configured to use Araxis Merge for file comparison and merge operations.

To configure SmartGit/Hg to use Araxis Merge for file comparison:
  • Choose Preferences from the Edit menu.

  • Expand Tools in the tree on the left.

  • Select Diff Tools in the tree on the left.

  • Select the * pattern in the table and click the Edit… button.

  • Select the External diff tool radio button.

  • In the Command entry field, enter the following:

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

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the location of the full path to the Araxis Merge Compare.exe utility on your machine.

  • In the Arguments entry field, enter the following:

    /wait /2 /title1:"Repo version" ${leftFile} ${rightFile}
    
  • Click OK to apply the changes and exit the Edit dialog.

To configure SmartGit/Hg to use Araxis Merge for file merging:
  • Choose Preferences from the Edit menu.

  • Expand Tools in the tree on the left.

  • Select Conflict Solvers in the tree on the left.

  • Select the External Conflict Solver radio button.

  • In the Command entry field, enter the following:

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

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the location of the full path to the Araxis Merge Compare.exe utility on your machine.

  • In the Arguments entry field, enter the following:

    /wait /a2 /3 /title1:"Yours" /title2:"Common ancestor" /title3:"Theirs" ${leftFile} ${baseFile} ${rightFile} ${mergedFile}
    
  • Click OK to apply the changes and exit the Preferences dialog.

SmartSVN/SmartCVS

SmartSVN and SmartCVS clients can be configured to use Araxis Merge for file comparison and merge operations.

To configure SmartSVN/SmartCVS to use Araxis Merge for file comparison:
  • Choose Preferences… from the Edit menu.

  • Select File Compare in the tree on the left (File Comparators in SmartCVS).

  • Select the * pattern in the table and click the Edit… button.

  • Select the External Comparator radio button.

  • In the Command entry field, enter the following:

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

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the location of the full path to the Araxis Merge Compare.exe utility on your machine.

  • In the Arguments entry field, enter the following:

    /wait /2 "${leftFile}" "${rightFile}
    
  • Click OK to apply the changes and exit the Edit dialog.

To configure SmartSVN/SmartCVS to use Araxis Merge for file merging:
  • Choose Preferences… from the Edit menu.

  • Select Conflict Solver under Actions in the tree on the left.

  • Select the External Conflict Solver radio button.

  • In the Command entry field, enter the following:

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

    Note: in the above path, replace C:\Program Files\Araxis\Araxis Merge\ with the location of the full path to the Araxis Merge Compare.exe utility on your machine.

  • In the Arguments entry field, enter the following:

    /3 /wait /a3 "${leftFile}" "${rightFile}" "${baseFile}" "${mergedFile}"
    

    Note: The "${baseFile}" template is not required when using SmartCVS.

  • Click OK to apply the changes and exit the Preferences dialog.

Source Integrity Enterprise Edition

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}\"

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

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
REM appropriate Merge installation directory on
REM your machine (use the short form of the path

C:/PROGRA~1/Araxis/ARAXIS~1/compare.exe /a2 /title1:"Revision %MKSSI_REVISION1%" /title2:"Revision %MKSSI_REVISION2%" %FILE1% %FILE2%

SourceAnyWhere

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:

    /title1:"%FIRST_LABEL%" /title2:"%SECOND_LABEL%" "%FIRST_FILE%" "%SECOND_FILE%"
    
  • In the Arguments for diff directories entry field, specify:

    /title1:"%FIRST_LABEL%" /title2:"%SECOND_LABEL%" "%FIRST_DIR%" "%SECOND_DIR%"
    
  • In the Arguments for Two-way merge entry field, specify:

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

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

    Information 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.

SourceGear Vault

The following configuration steps were received from a customer and verified by Araxis for the Windows SourceGear Vault client v4.1.4.

To configure SourceGear Vault client to use Merge for file comparison and merging:
  • Choose Options… from the Tools menu.

  • Select the Diff/Merge group in the tree on the left.

  • In the Diff section on the right, click the Browse button for the user supplied diff application, and select the file Compare.exe in the Merge installation folder.

  • Ensure that the Arguments field reads:

    /2 /title1:"%LEFT_LABEL%" /title2:"%RIGHT_LABEL%"  "%LEFT_PATH%" "%RIGHT_PATH%"
    
  • Make sure the Use built-in program for folder differences is unchecked.

  • In Merge section on the right, click the Browse button and select the file Compare.exe in the Merge installation folder.

  • Ensure that the Arguments field reads:

    /a2 /3 /title1:"%WORKING_LABEL%" /title2:"%DEST_LABEL%" /title3:"%OTHER_LABEL%" "%WORKING_PATH%" "%BASELINE_PATH%" "%OTHER_PATH%" "%DEST_PATH%"
    
  • Click the OK button to apply the new settings and dismiss the dialog.

SourceOffSite

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.

StarTeam

Starbase inform us that StarTeam v5.1 has the ability to integrate with Merge.

To configure StarTeam to use Merge:
  • Go go to ToolsWorkstation 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

Subclipse is an Eclipse plug-in providing support for Subversion within the Eclipse IDE. It can be configured to use Merge as its merging tool. Merge will then be used whenever you choose Edit Conflicts from a Team menu in Eclipse.

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

The following steps have been tested with Subclipse 1.6.13, Eclipse 3.6.0 and Subversion 1.6.

To configure Merge as the Subclipse merging tool:
  • In the Eclipse Preferences window, select the TeamSVNDiff/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):

    /wait /merge /a1 /3 /title1:"Common Ancestor" /title2:"Theirs" /title3:"Yours" ${base} ${theirs} ${yours} ${merged}
    
  • Click the Apply button.

Subversion

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. Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

See also the entries for Subversive, 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:

    diff-cmd = C:\Program Files\Araxis\Araxis Merge\AraxisSVNDiff.exe
    
  • The Subversion command-line client versions 1.5 and later can be configured to merge non-conflicting changes automatically, but to launch Merge interactively to resolve conflicting changes.

    If you wish to have Subversion merge non-conflicting changes itself, and use Merge only for conflicting changes, add a merge-tool-cmd line to set the path of the Merge AraxisSVNMerge.exe executable:

    merge-tool-cmd = C:\Program Files\Araxis\Araxis Merge\AraxisSVNMerge.exe
    

    The merge-tool-cmd option is ignored when the value of the diff3-cmd option is defined. Ensure that the value of the diff3-cmd option has not been defined.

  • Alternatively, if you would rather use Merge to resolve all changes, you can define the diff3-cmd configuration option instead of merge-tool-cmd. (Note that diff3-cmd is the only option for Subversion versions prior to v1.5.)

    If defined, diff3-cmd should be set to the path of the Merge AraxisSVNDiff3.exe command-line utility:

    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, svn update and svn merge) that require a two or three-way comparison.

Subversive

Subversive is the official Eclipse plugin providing support for Subversion within the Eclipse IDE. It can be configured to use Merge as its merging tool. Merge will then be used for file comparisons, and for merging whenever you choose Edit Conflicts from a Team menu in Eclipse.

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

The following steps have been tested with Subversive 0.7.9, Eclipse 3.6.0 and Subversion 1.6.

To configure Merge as the Subversive file comparison and merging tool:
  • In the Eclipse Preferences window, select the TeamSVNDiff Viewer page.

  • Click the Add… button.

  • In the Extension or mime–type field, enter the following:

    *
    
  • Within the Diff program arguments box, enter the following into the Program Path field:

    C:\Program Files\Araxis\Araxis Merge\Compare.exe
    
  • In the larger field beneath, enter the following:

    /wait /2 "${mine}" "${theirs}" "${base}"
    

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

    Note: Subversive is inconsistent about which token it replaces with the remote file to be compared. Fortunately, when Subversion replaces ${base}, ${theirs} is an empty string and not passed to the external tool. In this situation, the external tool will open a file comparison using the file paths specified for ${mine} and ${base}.

  • Within the Merge program arguments box, enter the following into the Program Path field:

    C:\Program Files\Araxis\Araxis Merge\Compare.exe
    
  • In the larger field beneath, enter the following:

    /wait /merge /a1 /3 /title1:"Common Ancestor" /title2:"Yours" /title3:"Theirs" "${base}" "${mine}" "${theirs}" "${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.

  • Click the OK button.

  • Review the new settings in the Diff Viewer table.

  • Click the Apply button.

Surround SCM

Surround SCM has built-in support for Araxis Merge.

To set Araxis Merge as the default application for comparison and merging:
  • Choose User Options… from the Tools menu.
  • Select the Diff/Merge tab.
  • Edit the settings for a selected file type.
  • Select Araxis Merge from the comparison application drop-down list.

Please see the Surround SCM website for more details.

Team Foundation

See the entry for Visual Studio Team Foundation.

The Operations Pack (TOP) for HP NonStop

comForte 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 (SessionOptionsGlobal) 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.

TortoiseGit

The Diff Viewer and Merge Tool pages of the TortoiseGit Settings window enable external diff and merging programs to be configured.

Merge can also integrate directly with Git. Araxis provides a Git File System Plugin to enable Merge to access files in Git repositories directly. Merge is also able to populate the Versions button drop-down versions menu with other revisions of each file being compared. For more information, see Comparing Text Files (or Typed/Pasted Text).

The following steps have been tested with Git for Windows v1.8.4 in combination with TortoiseGit v1.8.6.0.

To configure Merge as the Diff Viewer:
  • In the TortoiseGit Settings window, select the Diff Viewer page.

  • In the Configure the program used for comparing different revisions of files section, 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 TortoiseGit Settings window, select the Merge Tool page (located under Diff Viewer).

  • 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.

TortoiseHg

TortoiseHg has direct support for Araxis Merge 2010.3829 and later. If TortoiseHg finds Araxis Merge on a computer (via a registry key search), it will use Araxis Merge as the default diff and merge tool without any further configuration.

If you are using an older version of Araxis Merge, TortoiseHg will not find Araxis Merge automatically. In this case, add the following line to your user Mercurial.ini:

[merge-tools]
araxis.executable=${ProgramFiles}/Araxis/Araxis Merge/ConsoleCompare.exe

TortoiseSVN

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

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

Veracity

Veracity is an Open Source, distributed version control and bug tracking system for Windows, macOS, and Linux. SourceGear, the company behind Veracity, has helpfully provided the information here.

Veracity supports Araxis Merge out of the box for both diff and merge operations. Simply use --tool araxis with any command that supports external comparison or merging tools. Alternatively, you can configure Merge as your default tool for various operations as described below.

For support using Veracity with Araxis Merge, please see http://veracity-scm.com/qa.

To make Araxis Merge the default interactive comparison tool for text files:
vv config set filetoolbindings/diff/:text/gui araxis
To make Araxis Merge the default interactive comparison tool for binary files:
vv config set filetoolbindings/diff/:binary/gui araxis
To make Araxis Merge the default interactive merging tool for text files:
vv config set filetoolbindings/merge/:text/resolve araxis
To make Araxis Merge the default interactive merging tool for binary files:
vv config set filetoolbindings/merge/:binary/resolve araxis

Visual Studio Team Foundation

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

Information The arguments for merging are taken from James Manning’s Blog. Yonatan Leonov has also written about using Merge with Team Foundation, with a particular emphasis on Merge Standard.

To configure Merge as the Team Foundation difference tool:
  • Familiarize yourself with Microsoft’s How to: Associate a File Type with a Difference Tool instructions.

  • In step 7 of those instructions, provide the following in the Command entry field:

    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 step 8 of those instructions, provide the following in the Arguments entry field:

    /wait /2 /title1:%6 /title2:%7 %1 %2
    
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 instructions.

  • In step 7 of those instructions, provide the following in the Command entry field:

    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 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

The WinCvs client can be configured to use Araxis Merge for file comparisons. The following steps have been tested using WinCvs 2.1.1.

To configure WinCvs to use Araxis Merge for file comparison:
  • Choose AdminPreferences…WinCvs.
  • Set the drop-down field in the WinCvs tab to Programs.
  • Select External Diff row in the table.
  • Click the Browse… button beneath the table.
  • From the Select the External Diff dialog, select the compare.exe file in the Merge installation directory, and click the Open button.
  • In the WinCvs Preferences window, click the OK button to save and apply the changes.
  • Select a file or folder of a module checked out from a repository and choose QueryDiff….
  • In the Diff settings dialog window, check the Use the external diff checkbox and click the OK button.