Question

Are there any import and export tools that would let us move projects into and out of team system with full history and log? Our current SCM is SVN.

PS - Sorry, I know it's a repost, but I didn't get an answer before... :)

Was it helpful?

Solution

Unfortunately, you probably didn't get an answer because there isn't a good one on offer...

I've looked into this a couple of times before, initially for the first TFS Betas. (At the time we were eager to move away from VSS while waiting for TFS to be ready... the compromise we ended up with then was to use SVN in the interim, but used a post commit hook that kept a VSS repository in sync to allow for that migration path to TFS.)

These guys (ComponentSource) were around back then with a VSS to TFS converter, and added a SVN to TFS one, but appear to have since discontinued the product.

These guys (Kyrosoft) might have some promise, but I'm concerned that they don't post prices, and do post a customer list (of two). If anyone has experience with the product, please let us all know.

More recently the TFS Migration and Synchronization Toolkit has been released on CodePlex, but to date no one has release a SVN plugin for it (there are 66 votes for the request)

So, you can look at rolling your own plugin for the toolkit, but even then you won't get the original dates for commits, as to my knowledge the TFS team haven't allowed a mechanism for importers to set this, so all migrated revisions will have the date of migration.

(The discontinued first tool above purportedly used to allow this, but how they got around the limitation (secret API? adjusting system time? database manipulation?) I don't know.)

In the end, I suspect most teams end up deciding to just switch systems at an appropriate time (eg new version or project), and manually deal with the bifurcated history lookup for the 6-12 months it remains particularly problematic...

OTHER TIPS

I don't know if you are still interested, but I just went through this with my current employer (my project was using SVN and they wanted to migrate it into TFS at another site).

These are the following steps I used:

  1. Run svndump on your current repo, and take the file to the intended target
  2. Using a svn server (e.g. a local repository) import the file - for this I used VisualSVN Server.
  3. Checkout the SVN repository to a local directory (e.g. svn co <url> Proj_SVN)
  4. Run SvnBridge (from CodePlex) on the same machine
  5. Checkout the TFS repository to a local directory (e.g. svn co http:// localhost:8080/<tfs_server>/<project_repo_path> Proj_TFS)
  6. Using Svn2Svn (from codeplex) I run the following: svn2svn /s:c:\temp\src\Proj_SVN /d:c:\temp\src\Proj_TFS /r:<start_rev>:<end_rev>

Depending on how many revisions, how much data you have and the speed of your network (e.g. it might be faster to run on the TFS server) it could take from 10 minutes onwards to complete each revision.

Anyway this is what I used and it worked for me (painful process though...) - your means might vary.

http://www.timelymigration.com/features.aspx is another alternative, had a test run that seemed to work.

Just thinking out loud here, but does SVN support a way to "play back" its history? If there is a way to generate a complete set of SVN commands from an existing repository, then you could feed those commands to SvnBridge, which would actually be writing into TFS.

Use KryoSoft. ComponentSource is basically out of business.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top