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.
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:
findstr /I /S /L /M YOUR_PROJECT.NET_FOLDER *
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.