IBM ClearCase and the Visual Studio 2008 integration: the case is not clear

January 13, 2009

Introduction

When the previous version of the Visual Studio was released (VS 2005), IBM released a CC integration package for it, which job was to integrate VS and CC. The integration package dlls by default located at “Program Files\Common Files\Rational\ClearCase\CCVSI” folder (just for the record – CCVSI stands for ClearCase Visual Studio Integration). Later, when the VS 2008 was released, the package failed to integrate, due to VS internal changes. So IBM released the patch, which is adding necessary keys to the computer registry and this way registering properly the CC package. The patch can be downloaded from the www.ibm.com (look for the Rational products). The package adding ClearCase menus to the VS, such as check in, check out and so on, thus making possible to operate CC directly from the VS.

A year ago, when we switched to Visual Studio 2008 and installed it on ours development machines with the ClearCase, Visual Studio refused to open our projects without patch being applied. However, then we noticed very strange phenomenon: on some machines, for unknown reason (now it does known :-) ), VS 2008 managed to open and fully integrate with ClearCase without a patch! For a year that was a voodoo for us, one thing I can say with confidence: the lucky guys whose computer worked without the patch was extremely happy, because VS worked a way better without it.

Life with patch and without

Personally, I don’t like the patch (I don’t like ClearCase either, but this is not relevant to the issue). Probably, one of the reasons for that is my previous experience with the Microsoft Source Safe – its integration worked so transparently to the user, as he will almost never notice to its existence. Contrary, when you work with the CC integration you have the feeling it not belongs to there. Each time you doing some operation, such as check in or adding a new file, external ugly dialogs are pop ups, freezing the whole environment while initializing. The integration changes project files, adding its tags to it. As the result, any attempt to open project on the machine with ClearCase but without the patch will fail. With the patch, some of the features (such as pending check ins) does not works. With the patch, you don’t have an icon for hijack or added new file. And more.

You don’t have to use the patch (and CC integration)!

Because patch was making projects corrupted to the machines without patch, we had to make a decision: to make all our machines work with patch or without, in the uniform way. A week ago I discovered what caused to some computers integrate without a patch: they had a different image, and a ClearCase on that image was installed without Visual Studio integration. To make clear what I trying to say here, I will say it again: if you install ClearCase with VS integration – you need a patch. If you install CC without VS integration – VS 2008 integrates perfectly without a patch or anything else.
Wow, this is weird! Why IBM released that patch from the beginning? How it works without the CC integration package? I don’t have answers, and honestly I don’t care since it works and I happy.
When you installing Visual Studio 2008 on the machine with ClearCase installed without VS integration, the VS integrates itself to CC. Inside it, appears all the same standard menus and icons you have with, for example, Source Safe. Every ability I tested perfectly works:
Check in – check
Check out – check
Undo check out – check
For almost every operation opens Visual Studio standard dialog (not third party) – check
Hijack file icon (a flag icon) – check
Added new file icon (a plus icon) – check
View history – check
Compare – check
Pending check ins – check
.. and more

Under File menu added standard “Source Control” menu item – nice, you don’t have it with the patch! Under Tools\Options\Source Control plug in selection – now you can select ClearCase or any other source control provider! Without a patch, the whole Visual Studio works much faster, no freezing anymore. And you can open your projects on computer with patch (pay attention – patch changes project files). We decided to work without a patch and integration, cleaned it from our computers, and no one regrets about that.

Ok, I want to work without a patch and CC integration. How I do that?

If you installing ClearCase first time, just make sure you installing it without Visual Studio integration. In case you already have a ClearCase installed with the integration, you have to perform two simple steps: first is to uninstall CC VS integration (CC itself should remain, of cause), and second is to remove patch registry keys from the registry.
Uninstalling CC VS integration: go to Add or Remove Programs, find “IBM rational ClearCase” there and choose Change >> Next >> Modify. Make sure the “IBM Rational ClearCase Client for VS.Net” is not selected. Press Next to apply changes.
Removing registry keys: when you applied a patch, you used two .reg files. Modify these files by adding “-” char at the end of every key. For example:
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages] turns into:
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages-]

After you modifying all the keys inside these files, run both of them. This will remove a specified keys from the registry.
Now run Visual Studio and enjoy.

Software versions I tested: Visual Studio 2008 with/without SP1, ClearCase versions 2003.06.10+ and 7.0.1.3.  Our computers (the ones without integration installed) work this way about a year, no complains :-)

Entry Filed under: General Programming. .

6 Comments Add your own

  • 1. Anthony Kesterton  |  January 14, 2009 at 8:42 am

    Hi – neat trick about CC without the integration. If you don’t like ClearCase, want some of the ease of use of VSS but also want to do true parallel development, you may not be aware of another option for an IBM version control system with Visual Studio. Rational Team Concert (RTC) has a Visual Studio client that you can use with VS2008 and 2005. This is particularly useful if you are working in an organisation that uses ClearCase/ClearQuest, and you need something a bit lighter. You can set up RTC by itself, or link it back to ClearCase. In the latter case, you cand your team(s) can use RTC and still have the other CC users access your work.

    If you want to take a look at this – check out jazz.net and look for the latest build of the VS client (its in beta at the moment)

    Reply
    • 2. Aizikovich Evgeni  |  January 14, 2009 at 1:36 pm

      Thank you, I will check this out.

      Reply
  • 3. Robbin H.  |  March 16, 2009 at 2:10 pm

    We are having issues with the UTF-8 files created in VS2008 (with CC version 2003.06.16) Have you run into this at all? The merge manager does not play well with UTF-8. The files are corrupted at merge time. :-(

    Regards,
    Robbin

    Reply
    • 4. Aizikovich Evgeni  |  March 18, 2009 at 12:18 am

      That is weird, I never experienced such a problem… Have no idea, do you using some non-english language inside the files (maybe resources)? Is it happens with every file you merging or just some of them?

      Reply
    • 5. Mark  |  July 21, 2009 at 6:03 pm

      We discovered a similar problem the merge manager corrupting UTF-8 a couple years ago. It seems to just randomly and silently corrupt things at merge time. Seems to only happen when merging changes on the same line, but doesn’t always happen even then. We tried to get IBM to fix it, and we even had a small example case that we could use to demonstrate the bug, but we couldn’t get them to do anything about it.

      What we’ve wound up doing ever since is running a perl script that looks through the vob for UTF encoded files and turns them into US-ASCII encoded files to prevent that from happening. It’s a pain to do because it typically requires a bit of user interaction to change special utf characters into ascii ones, and we have to be careful with the few files that we really need to use UTF.

      Reply
  • 6. Bill McNutt  |  June 22, 2009 at 6:56 pm

    We are running in the same VS/CC scenario as you. Do you have an issue with Rename / Delete with a file that has already been checked in. For these actions we have to do additional work in CC Explorer. Works fine in VS if the file is new, but once it is checked in, cant do rename or delete from VS alone. Was wondering if you found an answer, as there is a move afoot to do the CC integration (which is just horrible). Thanks for any help you can provide.

    Reply

Leave a Comment

hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Categories

Top Posts

Tags

.NET addin app.config ArrayList bug CAB Configuration ConfigurationManager ConfigurationSection ContentControl ContextMenu CTime; DateTime custom keys DataBinding DataContext Data templates debugging equals gethashcode GUI Hashtable interlocked Invoke lock lock free memcpy MFC multithreading multithreading; lock free override performance SCSF serialization Smart Client Software Factory Styles System.Configuration unsafe virtual functions Visual Studio wait free WinAPI WinForms WinForms\WPF Integration World of Warcraft World of Warcraft; Addon

Archives