Clearcase diff/merge as external compare tool in RTC
4 answers
An external merge tool in RTC is a definition of a set of command lines to execute, and the pre-defined ClearCase external merge tool definition is just a set of command lines referring to the locations where ClearCase merge tools are installed by default. So if you have the ClearCase merge tools installed somewhere on the client, just update the external merge tool definition to point to where you have those merge tools installed.
Comments
Hi Geoffrey,
Thanks very much for your answer.
I successfully configured Clearcase as an external compare/merge tool for RTC, on a machine with Clearcase installed. As you said, I simply referred RTC to use the Clearcase compare tool, navigating to "<CC_inst_dir>\bin\cleardiffmrg.exe"
However I would rather not having to install Clearcase on every machine that uses CC compare tool.
I tried to copy locally "cleardiffmrg.exe" executable to a machine without Clearcase installed,
but when I try to compare a certain file in RTC, using this tool, I get an error message about a "dll" file missing dependency. After copying two "dll"s locally (from a machine with CC installed), I get an error message in gibberish.
Do you know about a way to only depend on this "exe" file? Or maybe a small set of files I can locally extract on the machine, without having to fully install Clearcase?
Thanks again,
Yael
I personally don't know what the dependencies are ... you might want to try the ClearCase forum ( https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000333 ) for that question.
One approach: First try just copying over the "bin" directory. If that works, delete all the non-merge .exe's. That probably is now a small enough directory to tar/zip over to whatever client that wants it.
Hi Geoffrey,
I tried copying the "bin" directory locally, and also the complete RationalSDLC directory. It didn't work - When I try to compare two files using Clearcase as an external compare tool, I don't get anymore dependency errors, but a compare view/windows doesn't open either.
Yael, what about installing the CC Remote Client on each machine(that way you could push out the Same eclipse instance (with RTC provide as well as CC), you would have flexibility if you ever needed access to CC source(if you have any left) and that plugin package is very very small on the CC side of things...
The following merge tools are available with CCRC(some are GUI and ccrc_cleardiff.exe is shell based):
ccrc_cleardiff.exe
ccrc_cleardiffmrg.exe
ccrc_worddiffmrg.exe
ccrc_xmldiffmrg.exe
when installing the plugin, there is a compare_merge directory(see example below) from my Eclipse shell that shares ClearCase and RTC
C:\eclipse\plugins\com.ibm.rational.clearcase.compare_merge.win32.x86_8.0.1.v20141118_0548>ccrc_cleardiff.exe c:\foo.xml c:\foo2.xml
********************************
<<< file 1: c:\foo.xml
>>> file 2: c:\foo2.xml
********************************
-------------[changed 1]---------------|-------------[changed to 1]------------
<?xml version="1.0" encoding="UTF-8"?>+| <?xml version="1.0" encoding="UTF-8"?>+
Usage:
Compare files:
cleardiff [ -dif/f_format | -ser/ial_format | -col/umns n ]
[ -hea/ders_only | -qui/et | -sta/tus_only ] [ -b/lank_ignore ]
pname1 pname2 ...
Merge files:
cleardiff -out output-pname [ -bas/e pname ]
[ -q/uery | -qal/l | -qnt/rivial | -abo/rt ]
[ -dif/f_format | -ser/ial_format | -col/umns n ]
[ -hea/ders_only | -qui/et | -sta/tus_only ][ -b/lank_ignore ]
[ -favor/_contrib n (base=1,...) ] pname1 pname2 ...
Although all of these executables are preceded with ccrc_ they should all follow the same argument model for the native ClearCase difftools and all the same help online would be applicable
-Fred
ccrc_cleardiff.exe
ccrc_cleardiffmrg.exe
ccrc_worddiffmrg.exe
ccrc_xmldiffmrg.exe
when installing the plugin, there is a compare_merge directory(see example below) from my Eclipse shell that shares ClearCase and RTC
C:\eclipse\plugins\com.ibm.rational.clearcase.compare_merge.win32.x86_8.0.1.v20141118_0548>ccrc_cleardiff.exe c:\foo.xml c:\foo2.xml
********************************
<<< file 1: c:\foo.xml
>>> file 2: c:\foo2.xml
********************************
-------------[changed 1]---------------|-------------[changed to 1]------------
<?xml version="1.0" encoding="UTF-8"?>+| <?xml version="1.0" encoding="UTF-8"?>+
Usage:
Compare files:
cleardiff [ -dif/f_format | -ser/ial_format | -col/umns n ]
[ -hea/ders_only | -qui/et | -sta/tus_only ] [ -b/lank_ignore ]
pname1 pname2 ...
Merge files:
cleardiff -out output-pname [ -bas/e pname ]
[ -q/uery | -qal/l | -qnt/rivial | -abo/rt ]
[ -dif/f_format | -ser/ial_format | -col/umns n ]
[ -hea/ders_only | -qui/et | -sta/tus_only ][ -b/lank_ignore ]
[ -favor/_contrib n (base=1,...) ] pname1 pname2 ...
Although all of these executables are preceded with ccrc_ they should all follow the same argument model for the native ClearCase difftools and all the same help online would be applicable
-Fred
If you are trying to avoid a full ClearCase installation on every client machine just to get the cleardiffmrg.exe functional, you will almost always hit dependency walls because it relies heavily on native Rational core libraries and registry keys.
A lighter approach is pushing out the ClearCase Remote Client (CCRC) plugin wrapper files within the Eclipse package itself. You can point your RTC External Compare Tools preference to the compare_merge plugin directory (under com.ibm.rational.clearcase.compare_merge...) and execute the standalone ccrc_cleardiffmrg.exe. It carries much fewer dependencies than the full heavy client executable.
As a side note, if you are just troubleshooting or trying to quickly check raw text logs/snippets side-by-side without firing up the entire heavy RTC client or wrestling with environment paths, you can throw text blocks straight into an online comparison view like comparetext.app. It's obviously not a 3-way merge replacement for version control, but it's a handy browser sandbox for quick diffing when local tools are throwing DLL errors.