VSTS Migration to TFS 2015
Recently I had to migrate a source code located on a VSTS to the customer’s 2015 On-Premise TFS. This is a scenario that is not officially supported by the TFS Integration Platform tool , but I did not encounter any major problems (I migrated only the source code and not the work items).
As a reminder TFS Integration Platform is a tool developed by the ALM Rangers team that allows migrations between different versions of TFS. Migrations can be interrupted and resumed. However, this tool is no longer updated since 2012. Note that for a migration in the opposite direction, Microsoft has launched a preview tool: TFS Database Import Service for Visual Studio Team Services
- a SQL server (SQL Express may be sufficient) older than SQL Server 2014
- the local account that runs the application must be able to
- Be a director of the position
- Create a database on the SQL server
- TFS Source : Be a member of the Project Collection Proxy Service Accounts group and have read rights to the project
- Have an account for the VSTS being a member of the Project Collection Proxy Service Accounts group and have read / write rights to the project (it may be different from the local account)
- Visual Studio 2012 Pro or higher (Team Explorer 2012 is no longer available in standalone)
After double-clicking on the .msi, the screen below appears. Here nothing special, just install the “TFS Integration Tools”.
You then arrive at this screen where you are asked the SQL connection string, remember that the installation will create a database tool, your account must have sufficient rights on the server.
Bravo the tool is now installed, let’s move on to creating the migration!
Migration step by step
Here is the home screen of the application. The first thing to do is click on “Create New” (right column).
With Windows Explorer go to the “Team Foundation Server” folder if this is not the case and choose “VersionControl.xml”.
We must now configure the migration, please click on “Configure” and choose “VC11 Adapter”:
Then select your Team Project from source / target:
It only remains to start the migration and to resolve the conflicts if there are any. Note that you can very well pause the migration or finish it a first time, make some commits on the source branch and restart it. This allows a shorter break in service if a team is working on the project during the migration.
One last little tip for the road, I advise to migrate to a new VM that you “throw” after the migration. This avoids polluting his workstation with an old version of VS and guard against a possible restart of his workstation while the migration is in progress.
The migration is quite long because you will probably have conflicts to solve so I advise you not to perform if you have a large amount of data.