Geeks With Blogs
Sudheer Kumar ASP.Net, C#, BizTalk, MSBuild, WPF, WCF, WF....

I started working with TFS some time back. We had a pretty huge code base in VSS and had to plan it properly so that we can use it the best way. Phase I was targetting to migrate the VSS code base to TFS.

VSS Converter GUI .exe is the tool that was used. Though there are a lot of informations about the tool on web, I felt some of the points may be helpful to somebody.

Donot try to analyze and migrate the code directly from a networked machine. Copy the code to a local machine, preferably on the machine where TFS is intalled. If the VSS DB is on the same machinem then it makes the conversion much faster.
If the VSS DB to ocnvert is on a networked machine, and if it is a huge DB, then network interruption during analysis or migration is an issue.

I tried various configurations.
#1 The VSS DB on a networked machine, the converting tool on another machine and TFS DB also on a seperate machine.
The DB size was pretty huge, 2-3 GB for a single branch.
In this case, I found that the analysis takes a long tme and did not go for migration.

#2 The VSS DB was copied to the machine where the VSSConverter is running. And TFS is on another machine.
In this case, analysis was very fast. It took arnd 15 mins. But while doing the migration, it failed with the message:
TF60702 : Unable to start migration. Please delete the following workspaces and start again.
Converter_Workspace0
Converter_Workspace1 etc.
I have seen this error if you choose to migrate with out mentioning the TFS Database name and you have TFS dual installation. But in my case, I had metioned the DB properly.

If anybody had similar issue and has solved it, please let me know.

#3 I copied the huge VSS database files to the machine where I have TFS Application layer installed. The TFS DB layer was still on another machine.
 It went fine and both analysis and migration took around 20 mins only.

Now before you start running the tool, take care of the following:

If the machine where VSSConverterGui.exe is running is having Visual Studio TFS edition installed (any edition), then you just need to copy the VSSConverterGui.exe to the folder:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE

If you don’t have, then need to do the following. You will get a run time error on running the the tool.        

#1 File not found , Microsoft.VisualStudio.SourceSafe.Interop.dll.

To solve this, copy the DLL from a machine which has Visual Studio Team edition installed and put in to the GAC on the target machine.

      #2 Install VSS 2005:

Install Visual Sourcesafe 2005  and VSS 6.0 installation is not enough. Else you will get a runtime error while choosing the VSS folder.

COM Interface not supported blah..blah..

Performing the Analysis and Migration:

Microsoft provides a tool called VSSConverter.exe that can be used for analyzing the existing code base in VSS. After Team Foundation Server is installed, this tool can be located at:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE

This is a command-line tool and there is a GUI version for the same tool available at:

http://www.codeplex.com/Wiki/View.aspx?ProjectName=VssConverterGui 

 

1.       Drop the VSSConverterGui.exe to the same folder where the command line tool (VSSConverter.exe) resides. The default location is :

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE

2.       Run the tool

3.       Select the VSS and TFS  Server  names.

4.       Set the TFS SQL Server name. If you have TFS Data tier on another machine, then have to give that instance name. And to have permission, run the tool under the account that is a member of TFS Administrators Group. It is better to mention SQLServer name bcose by default it will take the SQLServer Express machine if any installed on that machine. You may get TF60702 under this condition.

5.       Add the projects to be converted from VSS and map it to corresponding Project under TFS.

6.       Go to Tools->Analyze. Once the analysis is finished, check for any issues during analysis

a.       The migration process does not preserve checkout information

b.       The analysis report possibly list out the areas of trouble during conversion.

c.       Re-Run the analysis till all the errors are fixed

7.       After analysis, do the user mapping. Map all the users to corresponding the accounts. Note that  you have to have an Active Directory  user to map corresponding to  VSS user.  So if you have some previous employees who are not there in Active Directory, their changes are not going to come in the history of the file.

8.       If analysis has no errors, go ahead with migration. Go to Tools->Migrate. Once the migration is over, check for any errors.


Now time to have TFS proxy if you have a global team for develoment.
Stay tuned..

UPDATE 06-04-07:
I am migrating branches one by one. I created the target folders in a single check-in in TFS and did the migration of first branch. After that, while doing the migration for the second branch, got the following error:

TF60099: Given folder mappings do not match with last migrated mappings. Following was the original mapping please use this only for incremental migration.\n<From>$projects/project1/source</From><To>$projects/project1/Source2</To>”

Both these folders are in seperate locations in VSS and in the same Team project in TFS.

To solve it, delete the "Source2" branch on TFS and recrate it.

The following post tell why it has to be done:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=279528&SiteID=1

Posted on Saturday, June 2, 2007 5:40 PM TFS | Back to top


Comments on this post: TFS - Part - I

# re: TFS - Part - I
Requesting Gravatar...
This post gives the command line for correcting the Converter_Workspace error.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=111426&SiteID=1
Left by Ken Thompson on Aug 20, 2007 1:56 PM

Your comment:
 (will show your gravatar)


Copyright © Sudheer Kumar | Powered by: GeeksWithBlogs.net