by Magnus Nilsson
There comes a time in the life of an IT department when you want to migrate your projects from one TFS instance to another, e.g. from a 2008 to a 2010 installation, and you’d like to keep your version control history. To help us, Microsoft gave us TFS Integration Tools (there is an unofficial version at CodePlex too). It comes with documentation, but it’s very theoretical and not very hands-on or, frankly, useful. But, this is what you do:
1) Install the tool and point it to your new TFS database server.
2) Create a new configuration. When asked for a template, browse to the installation directory and the “Configurations” folder within it. If you’re just wanting to migrate version control history, enter the “Team Foundation Server” subfolder and select the “VersionControl” file.
3) Select where you want to migrate FROM on the left side and where you want to migrate TO on the right. Your screen should now look like this:
It can help to be selective with what you migrate, by replacing the root path with subdirectories (e.g. $/MyProject/Source, $/MyProject/Docs). You can also skip a directory by adding a path and setting it to “Cloaked” (e.g. everything in $/MyProject BUT $/MyProject/WierdConfigurationFiles).
4) When you’re happy with the configuration, select “Save to Database” and then “Start” in the left-hand menu. The process can take quite some time and a lot of things can go wrong. If everything goes well, the screen will soon look like this:
If something does go wrong, depending on the problem, you’ll be offered either automatic or manual resolve actions. Automatic resolve actions may be worth a try, whereas manual resolution requires a lot of reading up on the inner workings of version control systems.
If a particular part of your solution is proving troublesome, first try to exclude it through cloaking. Even if you cloak it, however, the tool may still try to merge from that path. To control the merging behavior, you can add a “MergeScope” attribute to the XML migration configuration, like this:
So, cross your fingers and press “Start”!
by Oskar Hülphers
tretton37 office in Lund, Lilla Fiskaregatan 8A, 222 22
Developers honing their craft together.
firstname.lastname@example.org before May 22nd
How often do we as developers get a chance to practice and really hone our craft without focusing mainly on the end-result? Wouldn’t it be great to try? We thought so! That’s why, in the spirit of Corey Haines, we’d like to invite you to a Code Retreat for a full day at our office in Lund.
The purpose is for us to get a chance to practice, develop and ponder on our skills as developers, rather than learning new languages and frameworks. We aim to focus on the most basic and fundamental aspects of programming and it’s up to you to choose which language and IDE you want to use.
Attendance is completely free of charge and breakfast, lunch and snacks are included. The numbers of seats are limited though, so if you’re interested, please rsvp rather sooner than later.
Please bring your own computer, with IDE and unit testing framework ready to go, in order for us to get started as soon as possible.
We’re looking forward to a great day together. Some of us are planning to head out and grab some drinks afterwards and everyone is invited.
If you have any questions feel free to contact Oskar Hülphers, +46(0)706-735898.
About this blog
We at tretton37 believe in having a strong company culture that promotes craftsmanship, professionalism and knowledge sharing.
We want to use this blog to share what we know and give everyone insight into our thoughts.
Here is the RSS link for this blog:
- May 2015
- April 2015
- March 2015
- November 2014
- October 2014
- September 2014
- August 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- October 2013
- July 2013
- May 2013
- April 2013
- February 2013
- November 2012
- October 2012
- September 2012
- August 2012
- May 2012
- April 2012
- January 2012
- December 2011
- November 2011
- September 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- November 2010
- October 2010
- August 2010
- July 2010