Last couple weeks I have been busy migrating TFS 2008 to TFS 2010. I would like to share my experience and other website links/posts that helped me a lot.
Here are couple useful links.
Whats new in TFS and visual studio 2010
Getting Started TFS 2010
Configure Your Build System
We have been using Agile Scrum methodology in software development so ScrumforTeamSystem template is very useful for us and can be easily integrated in TFS . We had customized scrum template for our needs. Our challenge was to migrate source control along with version history and work items to TFS 2010. There are two paths to choose from when upgrading to TFS 2010 which is discussed here. I chose migration upgrade because I wanted to have both TFS 2008 and TFS 2010 running so if we need something we can still have TFS 2008 server.
Here is other useful link when upgrading SharePoint TFS 200x to TFS 2010.
As far as I know, there are two ways you can do migration upgrade.
1) Install TFS 2010 and use TFS Integration Platform which will let you migrate entire source code along with version history and work items to TFS 2010. I would recommend to read this really good post about when to use TFS migration or synchronization. Team Foundation Server Migration Scenarios and Guidance Diagram. If you are using other than Microsoft Visual Studio Scrum template (for example, ScrumForTeamSystem template), you will only be able to migrate version items using TFS Integration Platform. We have used sfts v3 migration tool to migrate workitems to TFS 2010.
Since our source code is really huge, it took more than couple days to migrate version control to TFS 2010. I have been seen following errors when running TFS Integration Platform.
error#1: VersionControl: Microsoft.TeamFoundation.Migration.Toolkit.MigrationException: Checkin failed for unknown reason
Resolution: This error occurs generally when there is a conflict occurs during checkin usually with merge items. You may have to resolve that merge conflicts by checkin the items manually. For that, go to target source control and right click on the project and check in all pending changes. It will probably fails and shows all conflicts that occurred. Resolve those conflicts and check-in all pending changes and restart TFS Integration Platform. Good thing about TFS integration platform is that it keeps track of its progress so you can restart the process from where it stops.
error#2: Microsoft.TeamFoundation.VersionControl.Client.VersionControlException: C:TfsIPData25Test3blogblogplyr_042309.fla: Exception of type ‘System.OutOfMemoryException’ was thrown. —> System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown.
error #3: Unhandled Exception: System.Data.UpdateException: An error occurred while updating the entries. See the InnerException for details. —> System.Data.SqlClient.SqlException: Could not allocate space for object ‘dbo.CONFLICT_CONFLICTS’.’PK_Conflicts’ in database ‘TfsMigrationConsolidatedDB’ because the ‘PRIMARY’ filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Resolution: TFS Integration Platform creates its own database and stores all source projects change set information in its database. So if you have hug source code, you would have to create TFS Integration Platform database on SQL Server standard edition or higher because SQL Server Express Edition comes with 4GB size limitation. I have noticed that SQL Server process is taking lot of memory while running TFS Integration Platform so I would suggest to run TFS Integration Platform tool on server which has higher memory (more than 6 GB memory if you have hug source code).
2) Another way is to restore TFS 2008 databases to TFS 2010 server and go with TFS 2010 upgrade installation. Following links might be useful if you decide to go with this path.
Hope this post helps you. Leave comment if you have any question.