Tamir Gefen on ALM

Archive for the ‘Tips and Tricks’ Category

I think it’s a good opportunity to learn new things:

Virtualization for Dummies

In a few weeks I plan to write about ALM, CM and virtualization.


ClearCase users, you may find the following details very useful:

IBM Rational ClearCase Support would like to welcome you to a ClearCase Open Mic conference call.

Date: Tuesday April 21st 2009
Time: 1pm-2pm Eastern Time (GMT-5)
Topic: UCM Stream Strategies – Component vs Release Architecture

Our GoMidjets ClearEnv (An innovative utility that creates UCM environments in a click) users  can also find it very useful.

For additional details on the Rational Open Mic Program please see –> Link: Rational OpenMic Landing page

I’m pleased to inform you about the following ClearCase add-ons which have been developed by me and GoMidjets:

ClearCheck Easily check the integrity of your ClearCase database.

ClearEnv Centralized management of environments and methodologies over ClearCase UCM.

CompBL – Compares ClearCase UCM baselines easily.

For download and further details, please press here:  GoMidjets

One of my current projects is to plan and implement a brand new infrastructure that creates environments to integrate Visual Studio 2008 with IBM Rational ClearCase. Actually, it’s a brand new VB.NET project – not based on Visual Studio 2005 or earlier versions – so I have to figure out what files should be source controlled and what files should not.

Well, firstly I had to check if VS 2008 and ClearCase can communicate together. I found an official IBM document that notifies the following: “Visual Studio 2008 is supported with ClearCase, CCRC (ClearCase Remote Client) and ClearQuest as of version 7.0.1 and later”, but I haven’t found any document that describes how to do the whole integration process, so I started this process by myself and here I summarize my findings.
My testing environment was ClearCase client v7.0.1 running on Windows XP SP2.
a. Make sure that your ClearCase installation contains the VS.NET integration. In my case it wasn’t included in the installation, so I had to re-install it again using these  instructions (They refer to Visual Studio 2003 and VS 2005, but are suitable for VS 2008 also).
b. Install the following utility:
This utility supports also ClearQuest and CCRC integration with Visual Studio. You have to watch the instructions very carefully (The installation changes some parameters inside the Windows registry).
As you might already know, one of the principals of version control is that not all the project files should be source controlled. In general, source files have to be source controlled, while the product files (the files which can be generated by the source files – usually the binary files) should not be source controlled. But how can I know which VS 2008 files are considered as source files and which are not?
I was looking for an article regarding this topic and found this detailed article in the MSDN. Here are the main points:
Files that should be source controlled are: sln, csproj, vbproj, vspscc, config, Source files (*.aspx, *.asmx, *.cs, *.vb, …) and binary dependencies (*.dll)

Files that should not be source controlled are: pdb, suo  and project user option files (*.csproj.user or *.vbproj.user)

In addition, I have used the following nice trick:


From this list, it appears that most of the returned files should not be source controlled, so use your j ownudgment to decide which files should or shouldn’t be under source control.

That’s all. Now I have the ClearCase menu; I can checkout, checkin, deliver and rebase from within Visual Studio; I can’t edit files unless I check them out first and so on.
Additional Resources

CompBL is a freeware that enables you to compare two ClearCase UCM baselines.

A few minor bugs are fixed due to comments by users.

Take it from here, or just view all utility details here .

BTW: The utility has a new package. Now its installation is much easier.

As CM manager, I dealt with IBM Rational ClearCase projects in which the users could deliver from a child stream into another child stream (in the same project or not).
Sometimes, I was asked about the following situation, as I pictured here in the chart: (Yeah, I pictured it by myself!)
A delivery from stream A to stream B has started but has not completed yet.
Meanwhile, a user that works on stream B would like to start delivery from stream B to stream C. When he starts the delivery, ClearCase notifies him that he is in the middle of a delivery, but since stream B is the target stream, ClearCase does not inform about the source stream (try this – if you run “cleartool deliver -status” from the destination view, ClearCase tells you the following: “No deliver operation in progress on stream”.Delivery Chart

So how can I know the source stream?
If the user is part of a small group, he can just shout this question out in the open-space, and then someone might shout in response, hopefully.

But what if there are dozens of streams, or if the user is part of an international group? Email is a typical answer, but he can wait hours until he gets a response.

Here I show a simple command line example that can find the source stream in a short while:

Windows OS – open the command line and run the following:

cleartool lsstream -short -in PROJECTNAME@PVOB > c:\streams.txt & for /f %i in (c:\streams.txt) do cleartool deliver -status -stream %i@PVOB

UNIX or Linux OS – run the following:

foreach line (`/usr/atria/bin/cleartool lsstream -short -in PROJECTNAME@PVOB`) ;
    /usr/atria/bin/cleartool deliver -status -stream $line@PVOB

(The unix example intended to csh environment. You have to make some minor changes for other shell environments).

How it technically works:
It generates a list that contains all project streams, and check the delivery status for each one of them.

I enhanced the CompBL utility, by a request that I was asked for.

The enhancement includes a new feature that enables you to exclude the ClearCase internal baselines (those which start with “deliverbl…” caption), so you will get smaller baseline lists.

I also made some minor bugs fixing… You know, it’s a software…

Take it from here, or just view all utility details here


Term of use

Disclaimer of Warranties: The Website is provided “as is”. Automattic and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither Automattic nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s a treat. You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.

GoMidjets Twitter

Error: Twitter did not respond. Please wait a few minutes and refresh this page.