How do I integrate Beyond Compare with ClearCase?

2020-02-03 05:49发布

问题:

I would like to integrate Beyond Compare with ClearCase so that I can use it for diffing and merging files, instead of the awful tools provided by ClearCase.

Does anyone have instructions for performing this integration?

回答1:

As mentioned in my previous answer, just modify the map file located in:

# up to ClearCase 7.0
c:\program files\rational\ClearCase\lib\mgrs

or

# ClearCase 7.1 and more
c:\program files\IBM\RationalSDLC\ClearCase\lib\mgrs

Each map line has 3 parts: the CC filetype, the CC action, and the application.

In your case, find the section in the map file for text_file_delta file types.
There you will find lines for CC actions compare, xcompare, merge, and xmerge.

Use BeyondCompare:

text_file_delta xcompare C:\Progra~1\Beyond~1\bc2.exe  

Beyond Compare 3 support all CC actions:

text_file_delta compare C:\Program Files\Beyond Compare 3\BComp.exe
text_file_delta xcompare C:\Program Files\Beyond Compare 3\BComp.exe
text_file_delta merge C:\Program Files\Beyond Compare 3\BComp.exe
text_file_delta xmerge C:\Program Files\Beyond Compare 3\BComp.exe 

Note: For Beyond Compare 2, this page clearly mentions

To use Beyond Compare 2, only change the xcompare line of the map file.
Overriding compare, merge, and xmerge is not supported.
A helper that improves BC2's support is available here.


Note that what precedes is for ClearCase only, not CCRC (ClearCase Remote Client)

This technote illustrates how to change the XML diff/Merge tool for CCRC (KDiff3 but you can adapt it to BeyondCompare):

Change directories to the CCRC installation location > plugins > com.ibm.rational.clearcase.compare_merge.<os>_<ccrc ver>,
Where <os> is the name of the operating system bits used and <ccrc ver> is the latest version of the CCRC update applied on the client.

On Windows

  • CCRC 7.1 Default: C:\Program Files\IBM\IMShared\plugins
  • CCRC 7.0 Default: C:\Program Files\IBM\Rational\ClearCase\CCRC\plugins\

Example:

com.ibm.rational.clearcase.compare_merge.win32x86_7.0.1.CU02
  • Copy the KDiff3 executable from its installation path to the com.ibm.rational.clearcase.compare_merge.<os>_<ccrc ver> directory
  • Rename the ccrc_xmldiffmrg.exe to ccrc_xmldiffmrg_orig.exe
  • Rename KDiff3.exe to ccrc_xmldiffmrg.exe
  • Close and reopen CCRC

CCRC Issue:

When updating CCRC, the plug-in directory com.ibm.rational.clearcase.compare_merge.<os>_<ccrc ver> will change.
The steps above will need to be run again in the new plug-in directory.

Note: You can control when the updates occur by preventing CCRC from looking for updates automatically.
Click Window > Preferences > Install/Update > Automatic Updates and disable automatic updates.



回答2:

An alternative to Beyond Compare is KDiff3, which integrates very nicely with clearcase. Just tick off for clearcase integration when installing, and you're done.



回答3:

Just to piggy back on Von's answer if you're lazy like me.

if you can search and replace with regex (like notepad++)

Find What:((text_file_delta|_html|_xml|html2|xml2)[ \t]+(compare|xcompare|merge|xmerge)[ \t]+).* 

Replace with: \1C:\\Program Files\\Beyond Compare 3\\BCompare.exe 

does all of the lines VonC mentioned for regular clearcase.

(assuming you have beyond compare installed at the above location, otherwise point to your path).

I also found it interesting, I put "'s around the path (due to the spaces) and it didn't work, removing them solved that problem.



回答4:

There's also the 'official' way on the BC support page:

Ofiicial Tip by Scooter

1. Locate the plugins folder, which will contain a specific version named subfolder.  Examples:
    C:\Program Files\IBM\Rational\ClearCase701\CCRC\plugins\com.ibm.rational.clearcase.compare_merge.win32.x86_7.0.1.D061004
    C:\Program Files\IBM\IMShared\plugins\com.ibm.rational.clearcase.compare_merge.win32.x86_7.1.1.v201007070751
    Note that the version number in path is subject to change.
2. Copy "C:\Program Files\Beyond Compare 3\bcomp.exe" into the folder.
3. Move ccrc_cleardiff.exe, ccrc_cleardiffmrg.exe, ccrc_worddiffmrg.exe and ccrc_xmldiffmrg.exe to a backup folder.
4. Make 4 copies of bcomp.exe and rename them to ccrc_cleardiff.exe, ccrc_cleardiffmrg.exe, ccrc_worddiffmrg.exe and ccrc_xmldiffmrg.exe.
5. Change "CCRC Integrated (UTF-8)" to "ClearCase External" under Preferences | CCRC | Integration | Compare_Merge.

BUT there's something else you should do. When setting the merge tool, you should override the comparison to the original 'CCRC Integrated', like so:

BC does not yet handle Clear Case Directory Comparison.