Integrating with Source Control, Configuration Management and Other Applications

Оглавление:

Статья последний раз была обновлена 04.03.2023



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:

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 FilesAraxisAraxis MergeCompare.exe" /wait /2 /title1:"%3%" /title2:"%4%" %1% %2%

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

  • In the Merge entry field, enter the following:

    "C:Program FilesAraxisAraxis Mergecompare" /wait /a3 /3 /title1:"Overlapping version" /title2:"Workspace version" /title3:"Common ancestor" %1% %2% %a% %o%

    Note: in the above path, replace C:Program FilesAraxisAraxis 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.

ЧИТАЙТЕ ТАКЖЕ:  Git - Установка Git

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:

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:

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:

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:

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 file system (e.g. under /mnt/c, from the perspective of WSL). Please read the following warning carefully to understand the reason for this limitation.

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 file system (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.

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:

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:

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:

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 FilesAraxisAraxis Merge (or the correct path to your Merge installation directory) to your PATH environment variable.

Edit C:Program FilesIBMRationalSynergy7.1etcccm.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:
To configure IntelliJ IDEA/PhpStorm to use Merge as the merging tool:

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.

ЧИТАЙТЕ ТАКЖЕ:  Git Push into Production (FTP)

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

To configure Mercurial to use Araxis Merge for file merging:
To configure Mercurial to use Araxis Merge for file comparison:
Examples of using hg arxdiff:

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 file system (e.g. under /mnt/c, from the perspective of WSL). Please read the following warning carefully to understand the reason for this limitation.

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 file system (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.

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:

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:
To configure Mercurial to use Araxis Merge for file comparison:

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:
To configure P4V (2007.2 release or later) to use Merge for file comparison and merging:
To configure the Perforce command-line tool (p4.exe) to use Merge:

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:
To configure SmartGit/Hg to use Araxis Merge for file merging:

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:
To configure SmartSVN/SmartCVS to use Araxis Merge for file merging:

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:tempF2EB.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:temprevision1"
set FILE2="c:temprevision2"

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:

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:

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.
ЧИТАЙТЕ ТАКЖЕ:  Отмена последнего коммита в git

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:

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:

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:

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:

Surround SCM

Surround SCM has built-in support for Araxis Merge.

To set Araxis Merge as the default application for comparison and merging:

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:
To use Araxis Merge from within TOP:

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:
To configure Merge as the Merge Tool:

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:
To configure Merge as the Merge Tool:

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:
To make Araxis Merge the default interactive comparison tool for binary files:
To make Araxis Merge the default interactive merging tool for text files:
To make Araxis Merge the default interactive merging tool for binary files:

Visual Studio Team Foundation

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

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:
To configure Merge Professional as the Team Foundation merging tool:
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:

https://www.araxis.com/merge/documentation-windows/integrating-with-other-applications.en

Губарь Маргарита Александровна