📜 ⬆️ ⬇️

How to migrate from SVN to TFS

Many teams that use Subversion to store source codes at some point start thinking about building a complete Application Lifecycle Management environment. This raises difficult questions. First of all, this is how to integrate version control, task management, bug, artifact and project assembly tools into a single system. There are two ways here - either to develop the current complex, gradually connecting missing components to it, or to migrate to the system that contains all these components. For those teams that use Visual Studio as their main tool, Team Foundation Server is a suitable option. But this raises several important questions - how to minimize team idle time, and even better make the migration process invisible.

Migrating from SVN to TFS


Using the SVN2TFS tool svn2tfs.codeplex.com, it is possible to transfer all change sets from the Subversion repository to the TFS server. This tool is quite simple and obvious to use:

Specify the URL of the SVN repository and the path from which we want to import, then specify the details of TFS. The only minor difficulty is to prepare a user mapping file.
To do this, before the import operation, click on the "Validate SVN" button and the utility will display a complete list of all users in the SVN repository. All users should be definitely associated with TFS users in the following format:

After importing to TFS, the entire history of file changes with comments will be:

With this import, two points should be considered. The first is that the dates of changes in TFS will be actual and not those stored in the original repository. There’s nothing you can do, since TFS takes the actual checkin date for the current time. The second important point is support for svn externals. There is no similar mechanism in TFS, all that can be recommended so far is to use brunches to organize something like this.

Making TFS Subversion


After migration, you need to connect old SVN clients to the new TFS server. And what if you have an environment in which there were different clients, for example, not only Visual Studio? Perhaps for them there is no extension for connecting TFS. Therefore, for such clients we can leave everything as it is, they will work with TFS but at the same time they will consider that they work with SVN.
For this we need the utility SvnBridge svnbridge.codeplex.com . Download the Server archive from the site, unpack it into the c: \ svnbridge directory and create an application in IIS 7.0:

Do not forget to also configure the Web.Config of this application by specifying the TFS server address:

The rest of the settings will most likely be left as default. If you are not mistaken anywhere, then you can easily check the performance of SvnBridge using a browser. You should see a list of your projects in TFS:

Another option is to use svnbridge Client, which is essentially a local server. After launch, this utility sits in the tray on the port that is specified at the beginning of the launch and then forwards all requests from the SVN format to the TFS server.
In essence, this is enough to continue the work of those developers who used the Subversion server. It will only be necessary to reconfigure the server address in the client that they used. All major SVN protocol commands are supported.

Conclusion


As you can see, the migration from SVN to TFS is not at all a difficult task, and with the use of such a utility as SvnBridge, you have the opportunity to continue working with your source code to clients who are not able to work with TFS. This opportunity is especially interesting for those groups of developers who create heterogeneous systems for different platforms and can use different clients and development environments. In this case, the team gets all the features of TFS that allow you to configure the relationship of the source code and work items, task and bug management, build subsystems, analytics and many other features of the development lifecycle management.

')

Source: https://habr.com/ru/post/114944/


All Articles