<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Matt Mitrik</title><subtitle type="html">Program Manager | TFS | Version Control | Migration </subtitle><id>http://blogs.msdn.com/b/mitrik/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/mitrik/atom.aspx" /><generator uri="http://telligent.com" version="5.6.583.17018">Telligent Community 5.6.583.17018 (Build: 5.6.583.17018)</generator><updated>2009-10-29T09:43:30Z</updated><entry><title>Source Control Explorer Extension</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2011/10/05/source-control-explorer-extension.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2011/10/05/source-control-explorer-extension.aspx</id><published>2011-10-05T13:34:12Z</published><updated>2011-10-05T13:34:12Z</updated><content type="html">&lt;p&gt;I came across a very cool extension for Source Control Explorer today, and thought it was worth sharing more broadly.&amp;#160; The TFSSCExplorerExtension is hosted on Visual Studio Gallery, and it adds a number of very useful features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Move to Folder – Allows multiple items to be moved at once in SCE &lt;/li&gt;    &lt;li&gt;Branch to Folder – Allows multiple items to be branched at once in SCE &lt;/li&gt;    &lt;li&gt;Drag &amp;amp; Drop – Adds drag and drop support for Move, Branch, and Copy operations &lt;/li&gt;    &lt;li&gt;Show/hide deleted items – Quick way to toggle the “show deleted items” option &lt;/li&gt;    &lt;li&gt;Destroy – Enables the Destroy command inside of VS &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are a few other cool features as well, but the ones listed above are some that I’ve heard people ask for in the past.&amp;#160; Check it out here: &lt;a title="http://visualstudiogallery.msdn.microsoft.com/c6642e7f-1a58-4ff0-aef9-0322dcc2b28d" href="http://visualstudiogallery.msdn.microsoft.com/c6642e7f-1a58-4ff0-aef9-0322dcc2b28d"&gt;http://visualstudiogallery.msdn.microsoft.com/c6642e7f-1a58-4ff0-aef9-0322dcc2b28d&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10220448" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Professional Team Foundation Server 2010</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2011/05/11/professional-team-foundation-server-2010.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2011/05/11/professional-team-foundation-server-2010.aspx</id><published>2011-05-11T12:43:48Z</published><updated>2011-05-11T12:43:48Z</updated><content type="html">&lt;p&gt;This week I received my copy of one of the latest books on TFS: &lt;a href="http://blogs.msdn.com/b/briankel/archive/2011/02/02/book-professional-team-foundation-server-2010.aspx"&gt;Professional Team Foundation Server 2010&lt;/a&gt;.&amp;#160; This book is a great reference for anyone that is working with TFS and is looking for more deep knowledge on setup, administration, advanced branching and merging, migration, build automation, work item tracking, and more.&amp;#160; Authors Ed Blankenship, Martin Woodward, Grant Holliday, and Brian Keller all really know their stuff and did a great job of assembling their knowledge and experience in working with TFS together in a great book.&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10163360" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>TFS Guide for SVN users</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2011/01/19/tfs-guide-for-svn-users.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2011/01/19/tfs-guide-for-svn-users.aspx</id><published>2011-01-19T15:30:51Z</published><updated>2011-01-19T15:30:51Z</updated><content type="html">&lt;p&gt;Ed Hintz just posted a great guide for former SVN users that are moving to TFS.&amp;#160; He covers a bit of the conceptual differences, and produced a table mapping the most common SVN commands to their equivalent TFS commands.&lt;/p&gt;  &lt;p&gt;Check it out here: &lt;a title="http://blogs.msdn.com/b/edhintz/archive/2011/01/18/tfs-guide-for-subversion-users.aspx" href="http://blogs.msdn.com/b/edhintz/archive/2011/01/18/tfs-guide-for-subversion-users.aspx"&gt;http://blogs.msdn.com/b/edhintz/archive/2011/01/18/tfs-guide-for-subversion-users.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10117651" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Customizing Check-in Actions in your Process Template</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/12/20/customizing-check-in-actions-in-your-process-template.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/12/20/customizing-check-in-actions-in-your-process-template.aspx</id><published>2010-12-20T22:34:47Z</published><updated>2010-12-20T22:34:47Z</updated><content type="html">&lt;p&gt;In my last post, I told users about a client side hack that we added to change the default check-in action from “Resolve” to “Associate”.&amp;#160; Most of the time I’ve heard questions about this, it is because a team has customized their process template to no longer include the Resolve state or adopted a template that doesn’t have the concept of Resolve – our own &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/59ac03e3-df99-4776-be39-1917cbfc5d8e"&gt;SCRUM template&lt;/a&gt; comes to mind…&lt;/p&gt;  &lt;p&gt;Last week, &lt;a href="http://blogs.msdn.com/b/aaronbjork/archive/2010/12/17/marking-tasks-and-bugs-as-done-during-a-check-in.aspx"&gt;Aaron Bjork posted a much better solution&lt;/a&gt; for teams with custom process templates.&amp;#160; Check it out if you need a solution for changing work item state when checking in changes but aren’t using the Resolve state.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/aaronbjork/archive/2010/12/17/marking-tasks-and-bugs-as-done-during-a-check-in.aspx" href="http://blogs.msdn.com/b/aaronbjork/archive/2010/12/17/marking-tasks-and-bugs-as-done-during-a-check-in.aspx"&gt;http://blogs.msdn.com/b/aaronbjork/archive/2010/12/17/marking-tasks-and-bugs-as-done-during-a-check-in.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10107406" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>How To: Make “Associate” the default action for work items</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/12/03/how-to-make-associate-the-default-action-for-work-items.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/12/03/how-to-make-associate-the-default-action-for-work-items.aspx</id><published>2010-12-03T21:39:29Z</published><updated>2010-12-03T21:39:29Z</updated><content type="html">&lt;p&gt;I&amp;rsquo;ve heard this one a lot lately from many people, so I felt it was time to share more broadly.&amp;nbsp; While there is no way to do this in the UI in TFS 2010, there is a registry key that we added late in our release cycle to allow users to configure the default work item association.&lt;/p&gt;
&lt;p&gt;To make &amp;ldquo;Associate&amp;rdquo; the default action (instead of &amp;ldquo;Resolve&amp;rdquo;), set the registry key &amp;ldquo;HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction&amp;rdquo; to &amp;ldquo;False&amp;rdquo;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;FWIW, in our next release, we&amp;rsquo;re fixing this experience so that you won&amp;rsquo;t need to hack the registry to change the behavior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10100172" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="How To" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/How+To/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>TFS Integration Tools Released on Visual Studio Gallery</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/08/09/tfs-integration-tools-released-on-visual-studio-gallery.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/08/09/tfs-integration-tools-released-on-visual-studio-gallery.aspx</id><published>2010-08-09T13:49:00Z</published><updated>2010-08-09T13:49:00Z</updated><content type="html">&lt;p&gt;Over the weekend, our team released the first fully supported version of the Team Foundation Server Integration Tools.&amp;nbsp; This suite of tools has been developed by the TFS product group with help from the Visual Studio ALM Rangers to provide a comprehensive package to help teams that are migrating from 3rd party ALM tools to TFS.&amp;nbsp; Included in the release are adapters for TFS (2008 and 2010), Rational ClearCase, Rational ClearQuest, a file system based version control adapter, a readiness package including documentation, guidance, and case studies, GUI tools for configuring and running migrations, and sync monitoring tools and reports.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through;"&gt;You can download the tools here: &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/5a8d1703-7987-4081-ba2f-9d0b68b0ed3e"&gt;http://visualstudiogallery.msdn.microsoft.com/en-us/5a8d1703-7987-4081-ba2f-9d0b68b0ed3e&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Any questions or feedback on the tools can be given through the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsintegration/threads"&gt;TFS Integration forum on MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;5/11 - It seems that the last update of the TFS Integration Tools broke my link above.&amp;nbsp; The &lt;a href="http://msdn.microsoft.com/en-us/vstudio/bb840033.aspx" title="Migration and Integration Solutions"&gt;Migration and Integration Solutions&lt;/a&gt; page should always contain a working link for the TFS Integration Tools moving forward.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047759" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /></entry><entry><title>Tips when creating a workspace</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/07/20/tips-when-creating-a-workspace.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/07/20/tips-when-creating-a-workspace.aspx</id><published>2010-07-20T19:31:45Z</published><updated>2010-07-20T19:31:45Z</updated><content type="html">&lt;p&gt;I’ve been working with our content team to help publish some guidance on MSDN around using workspaces.&amp;#160; To date, it has been one of the biggest points of confusion for users that are new to TFS, so we made a point to create new topics with those points of confusion in mind.&amp;#160; While we’re still working on the final guidance to be published, I wanted to post a few pieces of guidance I give to people when they’re setting up their workspace.&lt;/p&gt;  &lt;p&gt;When creating mappings for your workspace, keep the following points in mind:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Map high enough (that is, closest to the root, $/) to ensure that you’re not updating your mappings every time a new piece of code is added.&amp;#160; &lt;/li&gt;    &lt;li&gt;Map low enough to prevent downloading things you don’t need to do your development work or to build your code. &lt;/li&gt;    &lt;li&gt;Keep your mappings simple – the fewer the better.&amp;#160; Only add complexity if it is necessary. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Balancing each of these things is something that is really only possible when the details of the specific projects are known.&amp;#160; There are some general best practices that may also be useful when creating a workspace:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Mapping at the Team Project level is a common approach, and may be a good idea if you only work in one Team Project.&amp;#160; Team Projects and workspaces are both tools to provide isolation, so a 1:1 mapping makes sense. &lt;/li&gt;    &lt;li&gt;One branch per workspace is a good practice to isolate changes that don’t logically go together.&amp;#160; For example, you probably don’t want to see pending changes from your production branch shown along side your changes for your development branch. &lt;/li&gt;    &lt;li&gt;Using multiple workspaces is a great way to work effectively if you work on multiple projects in parallel and task switch often. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hopefully that will provide some help to users that are new to TFS until we have better guidance on MSDN.&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10040549" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>How do I find the history for a renamed folder in TFS 2010?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/07/02/how-do-i-find-the-history-for-a-renamed-folder-in-tfs-2010.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/07/02/how-do-i-find-the-history-for-a-renamed-folder-in-tfs-2010.aspx</id><published>2010-07-02T16:22:26Z</published><updated>2010-07-02T16:22:26Z</updated><content type="html">&lt;p&gt;I came across this question while responding to some customer suggestions, so I thought I should make the answer easy to find should others be wondering the same thing…&lt;/p&gt;  &lt;p&gt;In the UI, history of folders is recursive - &lt;em&gt;always&lt;/em&gt;.&amp;#160; This is because most of the time, users care about the history of the &lt;em&gt;contents&lt;/em&gt; of the folder.&amp;#160; Files on the other hand don’t have the concept of recursive history - you always see the history for the file itself.&amp;#160; Now, from the command line, there is an option to show recursive history (/r) and if you run “tf history” on a folder without the recursive option, you'll see the changes to the folder itself.&amp;#160; This would include changes such as a rename for the folder itself. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As for getting this in the UI in VS - we've heard multiple requests for this, and we're tracking it as a possible feature for the next release.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10033950" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="How To" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/How+To/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>Version Control 2010 Upgrade Hotfix Published</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/06/17/version-control-2010-upgrade-hotfix-published.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/06/17/version-control-2010-upgrade-hotfix-published.aspx</id><published>2010-06-17T14:54:08Z</published><updated>2010-06-17T14:54:08Z</updated><content type="html">&lt;p&gt;Recently, I blogged about an &lt;a href="http://blogs.msdn.com/b/mitrik/archive/2010/06/04/version-control-upgrade-kb-article-published.aspx"&gt;issue in the TFS 2010 upgrade&lt;/a&gt; that affected the contents of labels and merge relationships.&amp;#160; If you have not yet upgraded to TFS 2010, the hotfix is now available and is highly recommended to be applied before configuring your team project collections.&amp;#160; The hotfix has been published on MSDN Code Gallery – find it here: &lt;a title="http://code.msdn.microsoft.com/KB2135068" href="http://code.msdn.microsoft.com/KB2135068"&gt;http://code.msdn.microsoft.com/KB2135068&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Because this hotfix applies to the upgrade of version control content, it must be applied after TFS 2010 setup is complete, but before configuration is started.&amp;#160; At the end of the setup experience, the Success screen is shown (see below), indicating the completion of the installation.&amp;#160; Normally, users would continue on to the configuration experience, but in this case, the process needs to be cancelled by un-checking the “Launch Team Foundation Server Configuration Tool” box, which will enable the Cancel button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-21-84-metablogapi/8535.image_5F00_3AB838FC.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-21-84-metablogapi/4331.image_5F00_thumb_5F00_18802D76.png" width="504" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After exiting setup, the hotfix executable can be run to update the upgrade steps. Once the hotfix is installed, the TFS Configuration Wizard will need to be re-launched from the Start Menu to complete the upgrade process.&amp;#160; As a reference, I’ve shown the welcome screen for the Configuration Wizard.&amp;#160; If you get to this screen and haven’t applied the hotfix yet, cancel out of the wizard and apply the hotfix.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-21-84-metablogapi/3288.image_5F00_367E3B6A.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-21-84-metablogapi/6332.image_5F00_thumb_5F00_7352BD3C.png" width="504" height="377" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10026478" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="Upgrade" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Upgrade/" /><category term="KB" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/KB/" /></entry><entry><title>Version Control Upgrade KB Article Published</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/06/04/version-control-upgrade-kb-article-published.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/06/04/version-control-upgrade-kb-article-published.aspx</id><published>2010-06-04T20:59:37Z</published><updated>2010-06-04T20:59:37Z</updated><content type="html">&lt;p&gt;Today we published a KB article for a recently discovered issue when upgrading from TFS 2005/2008 to TFS 2010.&amp;#160; This issue exhibits symptoms in both merge and labels – from the KB:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Labels that were created before the upgrade are entirely empty.&amp;#160; Labels could be also have incorrect contents. &lt;/li&gt;    &lt;li&gt;The merge wizard in Visual Studio does not display all valid merge targets for a given source path/branch. &lt;/li&gt;    &lt;li&gt;During merging, merge candidates are shown for changes that were already merged prior to the upgrade. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you’ve experienced any of these symptoms following an upgrade to TFS 2010, please check out the KB article: &lt;a title="http://support.microsoft.com/kb/2193796" href="http://support.microsoft.com/kb/2193796"&gt;http://support.microsoft.com/kb/2193796&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’re also in the process of releasing a hotfix for the issue for any customers that have not yet upgraded to 2010 that will fix the issue.&amp;#160; When the hotfix is available, the KB will be updated, and I’ll post back here as well.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update, 6/17&lt;/strong&gt; – The hotfix is now available on Code Gallery: &lt;a title="http://code.msdn.microsoft.com/KB2135068" href="http://code.msdn.microsoft.com/KB2135068"&gt;http://code.msdn.microsoft.com/KB2135068&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10020245" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="Upgrade" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Upgrade/" /><category term="KB" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/KB/" /></entry><entry><title>TFS 2010 File Corruption KB Article Published</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/05/26/tfs-2010-file-corruption-kb-article-published.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/05/26/tfs-2010-file-corruption-kb-article-published.aspx</id><published>2010-05-26T14:09:00Z</published><updated>2010-05-26T14:09:00Z</updated><content type="html">&lt;p&gt;Recently, we published a &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-US;2025763"&gt;KB article&lt;/a&gt; that is related to files being downloaded from version control with the incorrect contents.&amp;nbsp; The symptoms from the article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;After restoring a Team Project Collection (TPC) from a backup, files downloaded from Team Foundation Server through version control operations may have incorrect contents.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;An example of this is that you perform a Get operation, which downloads a file named Foo.cs, but the contents of Foo.cs are actually from the file Bar.cs.&amp;nbsp; This mismatched content is NOT the result of corruption in the database &amp;ndash; it is an issue with stale cache contents.&amp;nbsp; From the article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In the event of a TPC restore, it is possible that files added since the last backup was taken will be cached on the AT with a FileID that was assigned between the time backup was taken and the restore was applied.&amp;nbsp; If the version control cache was not purged prior to the TPC restore, FileIDs that were reassigned to new files may result in false positive cache-hits, leading to the download of incorrect file contents.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We found this issue very late in the 2010 cycle, and we plan to revisit this in the first service pack.&amp;nbsp; If you believe you have hit this issue, visit the KB article for details on how to correct the problem.&amp;nbsp; Also, if you&amp;rsquo;re seeing file corruption that is not related to this, please let me know as this would be an issue we would want to investigate and fix ASAP.&lt;/p&gt;
&lt;p&gt;KB Article 2025763: &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-US;2025763" title="http://support.microsoft.com/default.aspx?scid=kb;en-US;2025763"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-US;2025763&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10015611" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /></entry><entry><title>TFS 2010 backwards compatibility known issue: Possible null reference when setting source control permissions</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/03/12/tfs-2010-backwards-compatibility-known-issue-possible-null-reference-when-setting-source-control-permissions.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/03/12/tfs-2010-backwards-compatibility-known-issue-possible-null-reference-when-setting-source-control-permissions.aspx</id><published>2010-03-12T17:45:09Z</published><updated>2010-03-12T17:45:09Z</updated><content type="html">&lt;p&gt;We recently found an issue in the Team Explorer 2010 client while performing backwards compatibility testing, and unfortunately, this wasn’t a bug that we were able to fix for RTM.&amp;#160; This issue will be documented in the RTM ReadMe, but I wanted to make people aware of this should they go searching the web.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This issue only occurs when using a Team Explorer 2010 client to modify permissions on Team Foundation Server 2008.&lt;/strong&gt;&amp;#160; Upon checking the &amp;quot;Inherit security settings&amp;quot; check box on the &amp;quot;Security&amp;quot; tab of the &amp;quot;Properties&amp;quot; dialog for an item in source control, some users may hit a condition that results in a null reference exception.&amp;#160; This null reference is the result of a pre-existing condition with out of sync identities that some TFS 2008 instances may exhibit.&amp;#160; Due to the changes in how identities are managed in TFS 2010, this issue will not occur for 2010 servers.&amp;#160; &lt;/p&gt;  &lt;p&gt;If this null reference is hit while modifying the inheritance settings, the state of permissions displayed in the &amp;quot;Security&amp;quot; tab may be inaccurate – that is, what is displayed by the individual permissions checkboxes may not be the actual state of that permission.&amp;#160; Clicking the &amp;quot;OK&amp;quot; to save the permissions changes may then result in permissions being set that differ from what the user expected (re-opening the dialog will show the correct permissions after they are saved).&amp;#160; Clicking &amp;quot;Cancel&amp;quot; on the dialog will result in no changes being applied to the permissions.&lt;/p&gt;  &lt;p&gt;While it may be possible to work around this with the 2010 client, or by using the 2010 command line, &lt;strong&gt;it is recommended that users trying to modify source control permissions for TFS 2008 use a 2008 client.&amp;#160; &lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9977627" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Branching by Label in TFS 2010</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/02/18/branching-by-label-in-tfs-2010.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/02/18/branching-by-label-in-tfs-2010.aspx</id><published>2010-02-18T17:02:00Z</published><updated>2010-02-18T17:02:00Z</updated><content type="html">&lt;p&gt;&lt;img height="171" width="280" src="http://blogs.msdn.com/blogfiles/mitrik/WindowsLiveWriter/BranchingbyLabelinTFS2010_A44D/image_3.png" align="right" alt="image" border="0" title="image" style="border-right-width: 0px; margin: 5px 5px 5px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;Several people have noticed that in TFS 2010 the option to branch by label in the UI is no longer present, so I wanted to put up a short post on the subject until we have a chance to fix this (which will hopefully be very near RTM).&amp;nbsp; This change was the result of multiple changes in 2010 around branching: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Server side branching&lt;/strong&gt;.&amp;nbsp; The introduction of server side branching has a lot of benefits in the usability and the performance of creating new branches.&amp;nbsp; One limitation is that branches defined by workspace specs or labels (which can be defined by workspace specs), can&amp;rsquo;t be created without a workspace.&amp;nbsp; Hence, the server side branching option only allows branches with the version specs presented in the branching dialog. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Making server side branching the default in the UI&lt;/strong&gt;.&amp;nbsp; Because of the great performance improvement of creating branches entirely on the server, we wanted to ensure that users would benefit from the platform change any time a new branch is created.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;First class branches&lt;/strong&gt;.&amp;nbsp; With the introduction of first class branches, we added a new branching dialog for creating new branches.&amp;nbsp; It is this new dialog where we default to server side branching.&amp;nbsp; Branching folders is still the same experience that existed in 2008 that allows branching by labels and by workspaces. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The result of these changes was that the UI now only presents users the option to create new branches based on Changesets, dates, or the latest version of the parent branch.&amp;nbsp; Until we have a chance to resurface the option to branch by labels in the UI, the command line can be used as a workaround to create branches by label (even when branching first class branches).&amp;nbsp; When we have made the UI changes to add back this option, I&amp;rsquo;ll post back here.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For more info on branching on the command line, see the &lt;a href="http://msdn.microsoft.com/en-us/library/d73s8b27.aspx"&gt;Branch Command&lt;/a&gt; topic on MSDN.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For more info on changes to branching in TFS 2010, see the post on &lt;/em&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2009/06/08/first-class-branches.aspx"&gt;&lt;em&gt;First Class Branches&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: This issue has been fixed as a part of the QFE Rollup and the fix will be available in SP1.&amp;nbsp; You can download the QFE here: &lt;a href="http://support.microsoft.com/kb/983504"&gt;http://support.microsoft.com/kb/983504&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9965816" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="Branching" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Branching/" /></entry><entry><title>Upgrade vs. Migration: TFS Integration Platform</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/02/08/upgrade-vs-migration-tfs-integration-platform.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/02/08/upgrade-vs-migration-tfs-integration-platform.aspx</id><published>2010-02-08T14:34:00Z</published><updated>2010-02-08T14:34:00Z</updated><content type="html">&lt;P&gt;&lt;EM&gt;&lt;FONT color=#808080&gt;This is the seventh blog post in a series about &lt;A href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx" mce_href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/A&gt;.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In some migration scenarios, neither upgrading servers nor losing history are viable options: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;I&gt;“I have Team Projects I need to migrate from one existing TFS 2008 server to another TFS 2008 server, and I need to keep the history”&lt;/I&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In scenarios such as this one, using the TFS Integration Platform to preserve some history may be an option.&amp;nbsp; This platform was designed to facilitate the development of migration tools that connect other systems to TFS, and all of the logic to interface with TFS and move data between systems is provided with the platform.&lt;/P&gt;
&lt;P&gt;Using the TFS Integration Platform to move data does allow historical versions of version control and work item tracking data to be preserved, but it has some of the same disadvantages of the Tip Migration approach: loss of date-time information, and changeset and work item IDs are not preserved.&amp;nbsp; Furthermore, migrations involving the TFS Integration Platform also suffer from the problem of time compression, that is, actions that occurred over a long period of time in the source system are replayed in a short amount of time in the destination.&amp;nbsp; The result of this time compression is that many of the reporting metrics of the destination TFS server are inaccurate.&lt;/P&gt;
&lt;P&gt;The cost of using the TFS Integration Platform to migrate Team Projects is not trivial, and should be carefully weighed against the benefit of preserving some of the historical revisions.&amp;nbsp; Typically, this option should be reserved only when the &lt;A href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx" mce_href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;other options previously discussed&lt;/A&gt; have been exhausted.&amp;nbsp; For more information, please visit the &lt;A href="http://tfsintegration.codeplex.com/" mce_href="http://tfsintegration.codeplex.com"&gt;TFS Integration Platform&lt;/A&gt; CodePlex project page.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9959748" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /></entry><entry><title>Upgrade vs. Migration: Tip Migration</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/02/04/upgrade-vs-migration-tip-migration.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/02/04/upgrade-vs-migration-tip-migration.aspx</id><published>2010-02-04T15:07:00Z</published><updated>2010-02-04T15:07:00Z</updated><content type="html">&lt;P&gt;&lt;EM&gt;&lt;FONT color=#808080&gt;This is the sixth blog post in a series about &lt;A href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx" mce_href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/A&gt;.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Thus far, all of the recommended approaches for scenarios involving migrations of data between TFS 2010 servers have started with upgrade.&amp;nbsp; For some customers, upgrade may not be an option (in the cases where it is an option, it is strongly recommended):&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;I&gt;“I have Team Projects that I need to migrate from my existing TFS 2008 server to another TFS server, but I don’t want to upgrade”&lt;/I&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Client Compatibility&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;It is important to understand that upgrading a TFS server does not mean that users are required to upgrade their Visual Studio clients to continue using TFS.&amp;nbsp; Along with the TFS 2010 release two client compatibility GDRs have been released to ensure that TFS 2005 and 2008 clients are compatible with TFS 2010 servers.&amp;nbsp; For more information on the compatibility releases, please see the blog post that details the &lt;A href="http://blogs.msdn.com/teams_wit_tools/archive/2009/10/19/compatibility-matrix-for-2010-beta-2-team-foundation-server-to-team-explorer-2008-and-2005.aspx" mce_href="http://blogs.msdn.com/teams_wit_tools/archive/2009/10/19/compatibility-matrix-for-2010-beta-2-team-foundation-server-to-team-explorer-2008-and-2005.aspx"&gt;Compatibility Matrix for TFS 2010 and Team Explorer 2008 and 2005&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Tip Migration&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If upgrading to TFS 2010 is not an option, the recommendation for moving Team Projects is to copy the latest versions to the destination server, leaving the history behind on the original server.&amp;nbsp; Copying the tip versions is a relatively low cost migration option, and involves fairly simple procedures for version control and work item tracking data.&amp;nbsp; The major disadvantages of this approach are the loss of historical changes, date-time information, and changeset and work item IDs.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For version control, a workspace that maps all files for a Team Project can be used to get the latest copy of all files and folders to a client machine.&amp;nbsp; Those files can then be added to the new Team Project on the destination server.&amp;nbsp; For details on using version control, see the MSDN documentation to &lt;A href="http://msdn.microsoft.com/en-us/library/ms181384(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms181384(VS.100).aspx"&gt;Create a Workspace and Get Files&lt;/A&gt; and for &lt;A href="http://msdn.microsoft.com/en-us/library/ms245454(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms245454(VS.100).aspx"&gt;Placing Files under Version Control&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;To move work item tracking data, Excel can be used to export the work items that are to be moved to the new Team Project.&amp;nbsp; A query can be created that selects the work items that are desired to be moved to a new server, and those items can be opened in a bound Excel sheet.&amp;nbsp; That Excel sheet can later be bound to a different TFS server and those work items can be added to the destination Team Project.&amp;nbsp; For more information, see the MSDN documentation for &lt;A href="http://msdn.microsoft.com/en-us/library/dd286627(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd286627(VS.100).aspx"&gt;Managing Work Items Using Office Excel Bound to Team Foundation Server&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9958214" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /></entry><entry><title>Upgrade vs. Migration: Team Project Move</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/02/02/upgrade-vs-migration-team-project-move.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/02/02/upgrade-vs-migration-team-project-move.aspx</id><published>2010-02-02T21:10:08Z</published><updated>2010-02-02T21:10:08Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;This is the fifth blog post in a series about &lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/a&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A common migration scenario is one involving moving Team Projects between servers:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;i&gt;“I have a Team Project on one TFS server that I need to migrate to another TFS server”&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This can be a challenging task, especially when migrating to TFS 2005 or TFS 2008, as Team Projects are not fully encapsulated.&amp;#160; As with the consolidation scenario, the best approach is to leverage the features of Team Project Collections in TFS 2010.&amp;#160; For this reason, the recommended first step is to upgrade any server that has Team Projects to be moved to another server.&lt;/p&gt;  &lt;p&gt;Although TFS 2010 does not allow Team Projects to be individually moved in the way TPCs can be moved, there is a supported set of actions to split one or more Team Projects out of an existing TPC.&amp;#160; The TPC Split process allows a new TPC to be created that maintains full fidelity of the data as it existed in the original TPC.&amp;#160; To move one or more Team Projects from one TFS 2010 server to another, follow the MSDN topic to &lt;a href="http://msdn.microsoft.com/en-us/library/dd936158(VS.100).aspx"&gt;Split a Team Project Collection&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Much like the other TPC features, the TPC Split process has undergone significant testing and is fully supported.&amp;#160; Another advantage of using TPCs to move data is that the process operates in an offline manner involving database backups, meaning the servers to not need to be connected or accessible from a single location.&amp;#160; This is particularly useful when moving data between domains without a trust relationship.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9957192" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /></entry><entry><title>Upgrade vs. Migration: Server Move</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/02/01/upgrade-vs-migration-server-move.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/02/01/upgrade-vs-migration-server-move.aspx</id><published>2010-02-01T16:55:24Z</published><updated>2010-02-01T16:55:24Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;This is the fourth blog post in a series about &lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/a&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;There are some customers that present migration scenarios that are focused on hardware changes:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;i&gt;“I want to migrate my TFS server to a new set of hardware”&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the case of an upgrade to TFS 2010 being performed in conjunction with a hardware move, the steps to &lt;a href="http://msdn.microsoft.com/en-us/library/dd936138(VS.100).aspx"&gt;Move a Team Project Collection&lt;/a&gt; as described in the consolidation scenario can be used. The difference in this scenario is that the second server that will use the new hardware will not have any TPCs created until the TPC from the old server is moved onto it. Using the TPC move process also has the advantage that it can be done “offline”, which can be useful if both servers will not be active at the same time.&lt;/p&gt;  &lt;p&gt;If upgrade is not an objective, or if the move is to be performed on a 2008 or 2005 server, see the MSDN documentation to &lt;a href="http://msdn.microsoft.com/en-us/library/ms404869.aspx"&gt;Move Your Team Foundation Server from One Hardware Configuration to Another&lt;/a&gt;.&amp;#160; Another useful resource if an upgrade to TFS 2008 is being performed is the blog post on &lt;a href="http://blogs.msdn.com/tfsao/archive/2009/04/20/upgrading-to-team-foundation-server-2008-while-changing-servers.aspx"&gt;Upgrading to Team Foundation Server 2008 while Changing Servers&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9956391" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /></entry><entry><title>Upgrade vs. Migration: Server Consolidation During Upgrade</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/01/29/upgrade-vs-migration-server-consolidation-during-upgrade.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/01/29/upgrade-vs-migration-server-consolidation-during-upgrade.aspx</id><published>2010-01-29T20:28:13Z</published><updated>2010-01-29T20:28:13Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;This is the third blog post in a series about &lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/a&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Sometimes, customers present more complex scenarios that aren’t solved by a simple upgrade:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;i&gt;“I have two TFS 2008 servers that I need to migrate to a single TFS 2010 server”&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Often times, upgrade scenarios are paired with other objectives that lead users to think of them as migrations.&amp;#160; Consolidation of multiple existing servers into a primary upgraded server is a common scenario involving multiple goals, one of which is upgrade.&amp;#160; In a consolidation scenario, the best approach is to leverage the features of Team Project Collections in TFS 2010.&amp;#160; TPCs are fully encapsulated entities in TFS 2010, and they can easily be moved between server instances, even when crossing domain boundaries.&amp;#160; To learn more about Team Project Collections in TFS 2010, visit the MSDN article on &lt;a href="http://msdn.microsoft.com/en-us/library/dd236915(VS.100).aspx"&gt;Organizing Your Server with Team Project Collections&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In a consolidation scenario, the best approach is to start by upgrading each of the existing servers to TFS 2010.&amp;#160; Starting with upgrade has all of the advantages outlined in the previous scenario, and it allows the TPC features to be used to move data between servers with full fidelity.&lt;/p&gt;  &lt;p&gt;To accomplish the task of moving each of the Team Project Collections to a central server, follow the MSDN documentation to &lt;a href="http://msdn.microsoft.com/en-us/library/dd936138(VS.100).aspx"&gt;Move a Team Project Collection&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9955493" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /></entry><entry><title>Upgrade vs. Migration: Upgrading to a Newer Version of TFS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/01/26/upgrade-vs-migration-upgrading-to-a-newer-version-of-tfs.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/01/26/upgrade-vs-migration-upgrading-to-a-newer-version-of-tfs.aspx</id><published>2010-01-26T16:53:21Z</published><updated>2010-01-26T16:53:21Z</updated><content type="html">&lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;This is the second blog post in a series about &lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx"&gt;Upgrade and Migration for TFS&lt;/a&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;One of the most common statements I hear from customers looking at migration is similar to the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;i&gt;“I have a TFS 2005/2008 server and I want to migrate to TFS 2010”&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is not a migration scenario, but rather an upgrade scenario.&amp;#160; Any scenario in which the primary objective is to move from one version of TFS to another newer version is an upgrade.&amp;#160; In any situation where an upgrade to a newer version is to be performed, the recommended approach is to follow the MSDN documentation for &lt;a href="http://msdn.microsoft.com/en-us/library/ms404851.aspx"&gt;Upgrading Team Foundation Server&lt;/a&gt; and to use the Team Foundation Installation Guide (&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FF12844F-398C-4FE9-8B0D-9E84181D9923&amp;amp;displaylang=en"&gt;2008 version&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f"&gt;2010 version&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Using the supported upgrade process that is given in the TFS documentation is recommended for multiple reasons.&amp;#160; First, it guarantees that all of the data and metadata stored in TFS is properly transformed for use in the new version.&amp;#160; The upgrade process is also highly tested in numerous configurations of hardware and software versions.&amp;#160; Finally, because the upgrade process is part of the released product, any issues encountered during upgrade are fully supported by customer support. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;MSDN Upgrade Documentation - &lt;a href="http://msdn.microsoft.com/en-us/library/ms404851.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms404851.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;TFS 2010 Installation Guide - &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d531219-2c39-4c69-88ef-f5ae6ac18c9f&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;TFS 2008 Installation Guide - &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FF12844F-398C-4FE9-8B0D-9E84181D9923&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=FF12844F-398C-4FE9-8B0D-9E84181D9923&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9953566" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /></entry><entry><title>Upgrade vs. Migration: Definitions</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2010/01/25/upgrade-vs-migration-definitions.aspx</id><published>2010-01-25T20:29:05Z</published><updated>2010-01-25T20:29:05Z</updated><content type="html">&lt;p&gt;Being the Migration PM for the TFS team, I get a lot of “migration” questions from users.&amp;#160; After a few rounds of questions, most of the time the conclusion is reached that the user wanted something other than migration, say, an upgrade.&amp;#160; With the RTM release of TFS 2010 just months away, I thought that it would be great to have a few blog posts out there to help people determine if they really want to migrate to 2010, or if they would be better served by an upgrade or other option.&lt;/p&gt;  &lt;p&gt;Over the next few days, I’ll be posting some of the common scenarios that people often present when they talk about wanting to perform a migration.&amp;#160; Before getting into the scenarios, I wanted to clarify the definitions of Migration and Upgrade in the context of TFS.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Upgrade&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;An upgrade refers to the process by which an existing TFS server is moved from one version to a newer version.&amp;#160; Upgrades are always fully supported and are tested in many configurations before being released. In an upgrade, data on the server is transformed at the database level, and all data and metadata are preserved.&lt;/p&gt;  &lt;p&gt;There are also multiple flavors of upgrades: In-Place and Migration-Based.&amp;#160; An &lt;b&gt;in-place upgrade&lt;/b&gt; is defined as an upgrade that when complete will use the same set of hardware that is running the current TFS version.&amp;#160; A &lt;b&gt;migration-based upgrade&lt;/b&gt; is defined as an upgrade involving a second, duplicate set of hardware which will host the new version of TFS when the process is complete.&amp;#160; Note that despite having a similar name, a migration-based upgrade is NOT a Migration (see definition below). &lt;/p&gt;  &lt;p&gt;For more information about the differences between in-place and migration-based upgrades, please Bryan Krieger’s blog post on &lt;a href="http://blogs.msdn.com/bkrieger/archive/2009/10/21/team-foundation-server-2010-upgrade.aspx"&gt;Team Foundation Server 2010 Upgrade&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Migration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A migration refers to the process of replaying actions from one system into another system.&amp;#160; One of the key differences as compared to an upgrade is that a migration is a &lt;b&gt;lower fidelity data transfer&lt;/b&gt;.&amp;#160; In TFS, only version control and work item tracking data can be migrated between servers – build data, reports, and numerous other pieces of metadata are not able to be migrated.&amp;#160; In general, available migration tools have significantly less testing than the upgrade process, and most available tools have limited support (as they are released out of band).&lt;/p&gt;  &lt;p&gt;In the case of a migration, the data transformations are done using only the public APIs, which are limited in providing only certain pieces of information while moving data.&amp;#160; The result of these limitations is that some data is lost or distorted in the process of migration.&amp;#160; Examples of this are artifact IDs (changeset numbers, work item IDs), date-time stamps, area paths, and iteration paths.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Server Move&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Another term included here is server move, which is used to describe the process changing the hardware associated with a server.&amp;#160; During a server move, the version of TFS is not changed.&amp;#160; While a server move is neither an upgrade nor a migration, they are often performed before or after an upgrade, and are often confused with migration. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scenarios&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/26/upgrade-vs-migration-upgrading-to-a-newer-version-of-tfs.aspx"&gt;Upgrading to a Newer Version of TFS&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/01/29/upgrade-vs-migration-server-consolidation-during-upgrade.aspx"&gt;Server Consolidation During Upgrade&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/02/01/upgrade-vs-migration-server-move.aspx"&gt;Server Move&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/02/02/upgrade-vs-migration-team-project-move.aspx"&gt;Team Project Move&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/02/04/upgrade-vs-migration-tip-migration.aspx"&gt;Tip Migration&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/mitrik/archive/2010/02/08/upgrade-vs-migration-tfs-integration-platform.aspx"&gt;TFS Integration Platform&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Stay tuned for additional posts on common scenarios!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9953175" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /></entry><entry><title>Dogfooding the TFS Integration Platform</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2009/12/18/dogfooding-the-tfs-integration-platform.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2009/12/18/dogfooding-the-tfs-integration-platform.aspx</id><published>2009-12-18T17:45:47Z</published><updated>2009-12-18T17:45:47Z</updated><content type="html">&lt;p&gt;Late last night, we published updates to the &lt;a href="http://tfsintegration.codeplex.com/"&gt;TFS Integration Platform&lt;/a&gt; on CodePlex.&amp;#160; In addition to these changes containing new features, numerous bug fixes, and documentation refreshes, the updates marked the beginning of the dogfooding effort to sync our internal server to the TFS server used for the CodePlex project.&amp;#160; We’ve already been dogfooding the platform internally to sync two production TFS servers, and this is now another example of our commitment to dogfooding.&amp;#160; &lt;/p&gt;  &lt;p&gt;To get the latest source code or to see the contents of the updates, check out the &lt;a href="http://tfsintegration.codeplex.com/SourceControl/list/changesets"&gt;Source Code&lt;/a&gt; section of the project.&amp;#160; You’ll also notice additions in the changeset comments (see below) that are added by the tool as it migrates the changesets from our release branch to the CodePlex project.&amp;#160; It’s really nice to be able to automate our updates to CodePlex and dogfood our tools at the same time!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mitrik/WindowsLiveWriter/DogfoodingtheTFSIntegrationPlatform_A853/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mitrik/WindowsLiveWriter/DogfoodingtheTFSIntegrationPlatform_A853/image_thumb.png" width="661" height="80" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you have any questions or feedback on the TFS Integration Platform, be sure to visit our &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsintegration"&gt;forum&lt;/a&gt; and let us know.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938836" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="Community" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Community/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /></entry><entry><title>New Forum on MSDN</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2009/11/17/new-forum-on-msdn.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2009/11/17/new-forum-on-msdn.aspx</id><published>2009-11-17T16:40:54Z</published><updated>2009-11-17T16:40:54Z</updated><content type="html">&lt;p&gt;For a long time, we have had no home for questions related to migration offerings such as the VSS Converter, as well as general questions about our tools, partners, and service offerings.&amp;#160; We’ve recently added a new forum on MSDN to serve as the home for questions related to all of these things: &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsintegration/"&gt;Team Foundation Server - Migration and Integration&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With the recent release of the &lt;a href="http://tfsintegration.codeplex.com/"&gt;TFS Integration Platform&lt;/a&gt;, we’re also leveraging this forum as the discussion forum for the platform and the CodePlex project.&amp;#160; This will help to drive all of the questions and discussions for the entire TFS migration space to a single location.&lt;/p&gt;  &lt;p&gt;Something this forum is not intended to support are questions related to upgrading between TFS versions.&amp;#160; For those questions, the TFS General (&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/threads"&gt;http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/threads&lt;/a&gt;) or TFS Setup (&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfssetup/threads"&gt;http://social.msdn.microsoft.com/Forums/en-US/tfssetup/threads&lt;/a&gt;) forums are your best bets. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923662" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="Community" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Community/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /><category term="VSS Converter" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/VSS+Converter/" /></entry><entry><title>TFS Integration Platform Alpha Released on CodePlex</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2009/11/11/tfs-integration-platform-alpha-released-on-codeplex.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2009/11/11/tfs-integration-platform-alpha-released-on-codeplex.aspx</id><published>2009-11-11T20:39:48Z</published><updated>2009-11-11T20:39:48Z</updated><content type="html">&lt;p&gt;Today, we released the Alpha version of the TFS Integration Platform on CodePlex.&amp;#160; For all of the details, including the docs and source code, check out the project page: &lt;a href="http://tfsintegration.codeplex.com"&gt;http://tfsintegration.codeplex.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you check out the project page, you’ll soon realize that this project has replaced the former TFS Migration and Synchronization Toolkit that was hosted on CodePlex.&amp;#160; We’ve actually reused the same project page, but have updated the URL and project information to reflect the changes that have been made.&amp;#160; Visiting the previous project URL (&lt;a href="http://migrationsynctoolkit.codeplex.com"&gt;http://migrationsynctoolkit.codeplex.com&lt;/a&gt;) will redirect to the current project page.&lt;/p&gt;  &lt;p&gt;The TFS Integration Platform is different from its predecessor project in many ways.&amp;#160; First, we listened to the feedback that the community had on the old project and used that to shape the new project.&amp;#160; Here are a few things we’ve changed this time around:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Improved quality and robustness&lt;/strong&gt;.&amp;#160; This is a major area of improvement for this project, and one big change for us is that we’re actually dogfooding this platform in production.&amp;#160; We had a need to synchronize two servers internally (see &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/08/synchronizing-two-tfs-servers.aspx"&gt;Brian Harry’s blog post&lt;/a&gt; on the subject), and we’ve used this platform to build that synchronization tool.&amp;#160; The net result is that quality and robustness are a top priority for our team, as we have hundreds of people relying on our tools each day. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Increased transparency to the community&lt;/strong&gt;.&amp;#160; In the past, we just dropped a few releases on the community, and didn’t follow up with the needs of the community.&amp;#160; This time around, we’re starting with an alpha release, which was built with insight from MVPs, and we plan to have very frequent updates of the code base on CodePlex (ideally multiple times per week).&amp;#160; The goal here is to shrink the feedback loop so that we can end up with the right platform. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Better documentation&lt;/strong&gt;.&amp;#160; Along with the improvements to the code, we’ve worked hard with the VSTS Rangers to create detailed docs to help developers make sense of the platform.&amp;#160; Willy from the ranger’s team has been blogging about this effort for some time, so check out his &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/10/07/tfs-integration-platform-summary-of-links.aspx"&gt;blog post&lt;/a&gt; that summarizes everything that they’ve done to date. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Better serviceability&lt;/strong&gt;.&amp;#160; In the past, we had nothing that resembled a binary release, let alone one that was serviceable.&amp;#160; This time around, we’re making an MSI available to install the platform binaries to make servicing of tools built on the platform much easier. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Another change that we’ve consciously made was to rebrand the project to the TFS Integration Platform.&amp;#160; We felt that the description “toolkit” wasn’t accurate compared to what other “toolkits” consisted of, and that our functionality was more in line with what a “platform” offers.&amp;#160; Changing from “migration and synchronization” to simply “integration” was about simplifying the message about the purpose, and helping to disambiguate from upgrade scenarios which are often confused with migration.&amp;#160; Overall, we hope this name change results in a clearer focus for this project.&lt;/p&gt;  &lt;p&gt;So, if you’ve looked at the Migration Toolkit in the past, or have a need to integrate another system with TFS, check out the CodePlex homepage for the project and stay tuned for more updates!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921045" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="Community" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Community/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="TFS Integration Platform" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS+Integration+Platform/" /></entry><entry><title>New Branch and Merge Permissions</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2009/11/10/new-branch-and-merge-permissions.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2009/11/10/new-branch-and-merge-permissions.aspx</id><published>2009-11-10T20:56:30Z</published><updated>2009-11-10T20:56:30Z</updated><content type="html">&lt;p&gt;In a previous blog post about the new &lt;a href="http://blogs.msdn.com/mitrik/archive/2009/06/08/first-class-branches.aspx"&gt;First Class Branches&lt;/a&gt; that we have added in TFS 2010, I mentioned the addition of two new permissions related to branching and merging.&amp;#160; In this post, I want to go into a bit more detail about these permissions, explaining what each enables, the motivation for adding each permission, and how users upgrading from TFS 2008 are impacted.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Manage Branch&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The first of these new permissions is the Manage Branch permission.&amp;#160; Users that have this permission set to Allow for a given path can do the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Convert folders to branches (and branches back to folders) &lt;/li&gt;    &lt;li&gt;Update metadata for a branch (i.e. owner, description) &lt;/li&gt;    &lt;li&gt;Create additional child branches from the original branch &lt;/li&gt;    &lt;li&gt;Change the relationships between branches with merge relationships (i.e. reparenting branches)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One very interesting point about this permission is that it is only relevant for folders that have been converted to Branches – it does not prevent users from branching ordinary folders for which this permission has been denied.&lt;/p&gt;  &lt;p&gt;The primary motivation for adding this permission was to enable which users could create new branches.&amp;#160; In many organizations, there is a desire to establish a branching structure, and then have developers work in the branches the team has agreed they need.&amp;#160; Because the permission is path scoped, and branches can still be organized in folders, this still enables teams to group branches such that some branches can be further branched by users but other cannot.&amp;#160; &lt;/p&gt;  &lt;p&gt;An example scenario around this permission would be to deny Contributors the ability to Manage Branch under $/TeamProj/Main and $/TeamProj/Releases, but grant the permission under $/TeamProj/FeatureBranches.&amp;#160; That way, users could create sub branches for their feature branches, but couldn’t branch off of release branches or Main.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Merge&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Merge permission is the second new permission we have added for version control.&amp;#160; Users that have this permission set to Allow for a given path can do the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pend merge operations on branches, folders, and files under the specified path &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that this Merge permission is only for the &lt;em&gt;target&lt;/em&gt; path of a merge operation.&amp;#160; There is no permission to prevent a particular branch or folder from being &lt;em&gt;merged to&lt;/em&gt; another path.&amp;#160; Unlike the Manage Branch permission, the Merge permission is not tied to branches – it has the same behavior for folders and branches under a given path.&lt;/p&gt;  &lt;p&gt;The motivation for adding the Merge permission was similar to that of the Manage Branch permission.&amp;#160; In some teams, there is a desire to have certain developers handle the task of merging code between branches, while other developers will always work on one branch or another.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Upgrading from 2008&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Adding new permissions to the 2010 release presented the problem of how to assign these permissions on upgrade.&amp;#160; When we added these new permissions, we had one clear goal for the upgrade:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;After upgrading, users should be able to continue using all features they had permissions to prior to the upgrade.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Following this guideline, users upgrading to 2010 will be granted the new permissions as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;For a given path, users that are granted the Pend Change (aka Edit) permission will be granted both the Manage Branch and Merge permission.&amp;#160; Likewise, users that have been denied the Pend Change permission will be denied the new permissions.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This effectively means that users that were granted Pend Change permission before upgrade would be able to branch and merge, and after upgrade they will still have the permissions to branch and merge.&amp;#160; &lt;/p&gt;  &lt;p&gt;It is also important to note that during upgrade, folders with branch relationships to other folders are automatically converted to branches.&amp;#160; Due to an oversight, this created a problem during Beta 2…&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Bug in TFS2010 Beta 2 Upgrade&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Originally, we had planned to grant the Merge permission to users with the Pend Change permission, and Manage Branch would be granted to users with Admin Project Rights.&amp;#160; The thought here was that converting to branches and creating new branches was targeted more towards project leads than developers, and because the functionality was new, that users branching and merging folders wouldn’t be impacted.&lt;/p&gt;  &lt;p&gt;Some time later, we decided we needed to automatically detect and convert folders to branches during the upgrade process.&amp;#160; When we implemented this and performed our upgrade testing, we didn’t realize that after upgrade users without Admin Project Rights couldn’t create new branches.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The net result here is that for teams that have upgraded from 2008 to Beta 2, only users with Admin Project Rights will be granted the Manage Branch permission&lt;/strong&gt;.&amp;#160; We have since fixed this bug so that users upgrading from 2008 to RC or RTM will have the permissions applied as described above.&amp;#160; Note that users upgrading from Beta 2 to RC/RTM will not have their permissions changed (we don’t want to overwrite any customizations that may have been made since upgrading to Beta 2).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920420" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="Merge" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Merge/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="Branching" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Branching/" /></entry><entry><title>Using VSS Converter in TFS 2010 Beta 2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mitrik/archive/2009/10/29/using-vss-converter-in-tfs-2010-beta-2.aspx" /><id>http://blogs.msdn.com/b/mitrik/archive/2009/10/29/using-vss-converter-in-tfs-2010-beta-2.aspx</id><published>2009-10-29T13:43:30Z</published><updated>2009-10-29T13:43:30Z</updated><content type="html">&lt;p&gt;TFS 2010 Beta 2 has been out for a few days now, and I’ve heard of quite a few users hitting errors when trying to migrate their VSS databases to TFS using VSS Converter.&amp;#160; If you’ve hit the error message below, keep reading for a workaround that enables you to use VSS Converter from TFS 2010 Beta 2.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Symptom&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;TF60070: Unable to connect to the Team Foundation Server: 'http://TFSServer:8080/'. Please ensure that the Team Foundation Server exists and try again.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Workaround&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With the addition of Team Project Collections in TFS 2010, the VSS Converter utility needed to have its connection string format updated to enable it to connect to TFS.&amp;#160; During Beta 2 development, we updated the tool so that it would accept the collection name as an input parameter.&amp;#160; The unfortunate part about this change is that we were not able to update the documentation for the sample migration setting file in time for Beta 2.&amp;#160; For the RTM release, we’ll be sure to have the &lt;a href="http://msdn.microsoft.com/en-us/library/ms181247.aspx"&gt;walkthrough&lt;/a&gt; and other docs updated to include this new setting.&lt;/p&gt;  &lt;p&gt;To workaround the issue, you’ll need to add a new attribute to the &amp;lt;TeamFoundationServer&amp;gt; node in the settings file.&amp;#160; Here is an example of what the setting would look like if you were migrating to the default collection:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;&amp;lt;TeamFoundationServer name=&amp;quot;myserver&amp;quot; port=&amp;quot;8080&amp;quot; protocol=&amp;quot;http&amp;quot; &lt;strong&gt;collection=&amp;quot;tfs/DefaultCollection&amp;quot;&lt;/strong&gt;&amp;gt;&amp;lt;/TeamFoundationServer&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If during the configuration of TFS, you specified a different path than &amp;quot;tfs&amp;quot; you need to prefix the collection name with that path component.&amp;#160; Likewise, if you're not using the DefaultCollection, or want to migrate to a named collection, insert that part of the name after the &amp;quot;/&amp;quot;.&amp;#160; If you are not using any path component (i.e. an upgrade scenario), then you will want to specify only the collection name, omitting the &amp;quot;/&amp;quot;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914712" width="1" height="1"&gt;</content><author><name>mmitrik</name><uri>http://blogs.msdn.com/mmitrik/ProfileUrlRedirect.ashx</uri></author><category term="Migration" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Migration/" /><category term="Version Control" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/Version+Control/" /><category term="TFS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFS/" /><category term="2010" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/2010/" /><category term="TFSMIS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/TFSMIS/" /><category term="VSS" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/VSS/" /><category term="VSS Converter" scheme="http://blogs.msdn.com/b/mitrik/archive/tags/VSS+Converter/" /></entry></feed>