Geeks With Blogs
Patrice Calve Life's short, have fun

I finally and succesfully migrated a VSS 2005 Database to TFS 2008.

I got soo many problems/errors.  Things like:

  • Migration tool worked, but only the folders have been created in TFS. No file has been created,
  • Another migration warned that TF60085:  No file or folder to migrate
  • DCOM errors on the server.
  • When re-creating a TFS Project, TF30162: Task "WITs" from Group "WorkItemTracking" failed

So, after migrating "empty folders" the first time, I tried to delete the projects in TFS and re-importing them...  It turned to be a mess.........  I had to run the TFSDeleteProject.exe...

Here are my findings that may or may not be evident for mortals.

  • You must run the VSSConverter.exe from a "client" computer (not the TFS server)
  • The account you're using must have "project creation" priviliges on the TFS server
  • Check for DCOM errors on the server

If I had time and gutts, I'd start all over again (new os and all) and re-run everything with the following steps just to QA my steps!

To fix the DCOM errors,

Open Component Services

  • Start-->Administrative Tools-->Component Services
  • Expand Component Services, Computers, My Computer, DCOM Config.
  • Find the application (IIS WAMREG Admin Service / CLSID {61738644-F196-11D0-9953-00C04FD919C1}). 
  • Right-Click-->Properties and select the Security tab. 
  • For the "Launch and Activation Permissions, ensure that the Customize radio button is selected, and click Edit.
  • Add your service account (check the DCOM error message in the event viewer to find the right one), in my case, it was "NT AUTHORITY\NETWORK SERVICE"
    • Local Launch 
    • Remote Launch (not sure for this)
    • Local Activation
    • Remote Activation (not sure for this)
  • Restart IIS and continue on.

This "should" fix the DCOM errors in the future..  hehe.. 

As for the TF30162: Task "WITs" from Group "WorkItemTracking" failed.  I don't understand, but after "browsing" IIS console, re-starting IIS, I was able to re-create a new TFS Project without the TF30162 error above.  mmm.  maybe we just need to wait a few minutes (for sub-processes to finish/garbage collect) and a restart iis to clear caching. anywhoooo

ok, now back to migration

Perform the following steps from the client computer unless noted.

 

Step 1. Test Project creation on TFS

Open Visual Studio, connect to the TFS Server, try to create a project and upload a file to the Source Control.  If all works, continue, if not, fix !

 

Step 2: Analyze the VSS

Run the Analyze.exe.  Something like

"C:\Program Files\Microsoft Visual Studio\VSS\win32\ANALYZE.EXE" -f -c -d -v1 "d:\vss\data"

 

Step 3: get rid of checked outs files

There will likely be files that are checked out (older/defunct projects or un-monitored projects). 

  • Open VSS (client)
  • Search/Status Search
  • Choose "Display all checked out files"
  • Search Area "Search in in all projects"

If there are files found, send an email to your team or kill/"Undo Checkout" all files.

  • Open VSS client as admin
  • Right click the root "$/"
  • Choose Undo Checkout
  • Recursive = True, Local Copy = Leave, ok
  • Confirm all mesages... 

 

Step 4: install proper sps and hot fixes

if you run the VSSConverter and run into something like this:

Initializing...
VSSConverter has detected that Visual SourceSafe does not have the recommended u
pdates installed.  To ensure optimal results, install the updates referred to in
 Knowledge Base Article 950185.  Proceeding without these updates may lead to pr
oblems during migration.  Continue the migration without the updates (Y/N)?n

That's because the VSSConverter.exe needs to be updated (hotfix).

Well, kb950185, although the information seems to be correct, it wasn't clear that the hotfix can be found at  http://code.msdn.microsoft.com/ (the url is misleading, I think). 

Also, on that code.msdn page, to download the actual "exe", you have to click on "Current release"... Here's the direct link to the english (international) download page: http://code.msdn.microsoft.com/KB950185/Release/ProjectReleases.aspx?ReleaseId=1123

At the time of this writting, I have the following (all in English language, OSes and software):

Client:

  • Visual SourceSafe 2005 + Visual SourceSafe 2005 SP1
  • Visual Studio 2008 + Visual Studio 2008 SP1
  • TFS 2008 Explorer

Server:

- Team Foundation Server 2008 + TFS 2008 Explorer + TFS SP1

Note that all three (VSS client, TeamFoundationClient/Explorer and VSSConverter) must have the same language in order for VSSConverter to work.

Step 5: Run!

Follow the "standard" steps to migrate.  Here's my settings.xml file:

 

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
  <ConverterSpecificSetting>
    <Source name="VSS">
      <VSSDatabase name="E:\VSS\Patware1.0" />
      <UserMap name="E:\tfs\usermapPatware1.0.xml"  />
    </Source>
    <ProjectMap>
      <Project Source="$/" Destination="$/Patware/"/>
    </ProjectMap>
  </ConverterSpecificSetting>
  <Settings>
    <!--<Output file="E:\tfs\analysisPatware1.0.xml"  />-->
     <TeamFoundationServer name="turner" port="8080" protocol="http"></TeamFoundationServer>
  </Settings>
</SourceControlConverter>

I "basically" used the same file for the analyze and the migrate portion.  I simply commented out the proper settings portion.

Glad it can help if it does!

Pat

Posted on Wednesday, November 12, 2008 2:46 PM | Back to top


Comments on this post: Migrating VSS 2005 to TFS 2008

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
Excellent post!!!!!
All the things that we want to know before doing something evil like deal with vss
Left by Ricardo on Nov 05, 2009 10:29 AM

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
Hi Patrice, great post!

One question though. Why VSS has to be on a client computer, and not the server? Right now I am attempting a migration with everything on the server. The process went halfway through, not all the folders where migrated, and I am wondering if this could be the problem.

Any advice would be much appreciated.
Thanks!

Regards,
Manuel
Left by Manuel Babuglia on Nov 09, 2010 9:44 AM

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
By "being on a client" I meant not having the VSS database on separate computer than the process running the VSSConverter.exe

VSS being "file based", you have two(2) benefits of having it locally:
1) No one else will be using it (connections are "closed"), checkout/checkin, etc
2) Everytime a "file" is needed, the converter needs to check with the "table of Contents" database (find -> open -> locate within TOC -> read the info) then find the file in the vss db,etc...

Good luck

Pat
Left by Patrice on Nov 09, 2010 7:05 PM

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
Great Patrice, thanks for the clarification!

Regards,
Manuel
Left by Manuel Babuglia on Nov 18, 2010 9:54 AM

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
I really don`t know what are the odds. I am quite a tech-friendly person. I didn`t meet with any case of failure when recreating a TFS Project, as for "Task WITs". No empty folders recorded for me. I am anxious to know what explanation could I give to that.
Left by Virtualization Security on Mar 23, 2011 1:20 PM

# re: Migrating VSS 2005 to TFS 2008
Requesting Gravatar...
Are there other steps to migrate beside the ones you displayed? I mean step 5. Because I was taught to follow another pattern, the result was pretty much the same, yet I was somehow skipping some important aspects and then dealing with a bit of delay in synchronizing. Now that I observe your protocol, I was skipping the updates in the Base Article. Glad I could be able to correct that. And it`s by the book this time.
Left by Laptop Screen on Mar 30, 2011 1:48 PM

Your comment:
 (will show your gravatar)


Copyright © Patrice Calvé | Powered by: GeeksWithBlogs.net