Star Team to TFS 2010 Migration with History

I want to go from the Star Team 2005 to TFS 2010 with a STORY. Is there any tool or any way where I can do this economically. I know the Timely Migration tool, but it is too expensive.

+3


source to share


1 answer


There is no tool for this. You are stuck with paying for the timely migration or the letter itself. Capturing history from StarTeam is extremely difficult. The reason for this is because the look is historical. You can drop the view until a certain point in time, and that works very well in itself, but going back to every point in time when a change has occurred to the view is nearly impossible with the API. This is because 1) not everything has an audit record, so you cannot use audits and 2) the audit records are cleared, 3) there is a special function to "play" the view history to generate (requires MPX), but this will miss many events. 4) when items are generic, customized, branched, etc., they do not generate any audits in the project, 5) even if they did,getting each individual change requires repeating the browsing history up to the second to get all the changes by analyzing the differences. So this means that if your project is active for a month, and every time you parse two view configurations it takes 5 seconds to distinguish between them, then it will actually take 5 months for your project to migrate, but for now it will be locked ...

Thus, the next way to do this is to set "baselines" for comparison. Using build marks is a good starting point if you have overnight or continuous builds in your project, or even certain builds that have been QA certified. So you can use those baselines as points for diff / compare and then cast the history that way. While it is not as detailed as the full story, it is by definition the most important differences to get migrated.

However, keep in mind that even doing this method does not maintain links between branch / merge points in different branches / views. The only way to do this is to go directly to the StarTeam database to get this information.

I went through all these steps to try and write my own StarTeam to Subversion migration toolkit. It was fun, interesting and imperfect, but it had some kind of promise, but it never ended in the end. Part of the reason was that the time involved would be much greater than the value derived from it.



This inevitably brings you to the most important question: what is the value of the business in maintaining a complete history? After going through this many times with project teams as a StarTeam administrator, over 90% of the time, it was obvious the best approach was downsizing. Find a time when you can start working on a new job on the new system and freeze the work on the old system. This can usually be done with very little downtime for the project team. You can even start by publishing the Production release history to create a rough timeline on the new system. Use existing comparison tools, whether in TFS or BeyondCompare or elsewhere, to reproduce every state of a project's source code, doc, etc.And check it against your TFS project by checking or deleting files as needed and tagging your TFS project for each of you builds. Align all your TFS assemblies, work items, users, roles, etc. And make sure you're done. Then, during a break, take a final snapshot of development from StarTeam and do another update for your TFS project. Block Starteam users from the project (for verification anyway) and start working in TFS. Your TFS project will have a rough history of the most significant baselines, and you can keep the StarTeam open to users if more history is needed.on hiatus, take a final snapshot of development from StarTeam and make another update for your TFS project. Block Starteam users from the project (for verification anyway) and start working in TFS. Your TFS project will have a rough history of the most significant baselines, and you can keep the StarTeam open to users if more history is needed.on hiatus, take a final snapshot of development from StarTeam and make another update for your TFS project. Block Starteam users from the project (for verification anyway) and start working in TFS. Your TFS project will have a rough history of the most significant baselines, and you can keep the StarTeam open to users if more history is needed.

Another thing to consider is to create a permanent archive of your project. If your repository is small enough, it is doable, but it takes longer than your project. First, copy your entire database and storage into a separate instance and run that copy. Then delete all other projects. EXCLUDE the projects you want to archive. Run an online cleanup and be sure to run it before it finishes. You may need to restart the server and clean up several times. When you're done, your entire repository should only contain the files and database records your project needs. At this point, you can back up your database and storage and keep them indefinitely. This reduces the size of the existing StarTeam repository.

Haven't used StarTeam in over 3 years, but it was a fun trip back in time. I hope you found it helpful.

+2


source







All Articles