Branching by Label in TFS 2010

imageSeveral 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).  This change was the result of multiple changes in 2010 around branching:

  1. Server side branching.  The introduction of server side branching has a lot of benefits in the usability and the performance of creating new branches.  One limitation is that branches defined by workspace specs or labels (which can be defined by workspace specs), can’t be created without a workspace.  Hence, the server side branching option only allows branches with the version specs presented in the branching dialog.
  2. Making server side branching the default in the UI.  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. 
  3. First class branches.  With the introduction of first class branches, we added a new branching dialog for creating new branches.  It is this new dialog where we default to server side branching.  Branching folders is still the same experience that existed in 2008 that allows branching by labels and by workspaces.

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.  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).  When we have made the UI changes to add back this option, I’ll post back here.

For more info on branching on the command line, see the Branch Command topic on MSDN.

For more info on changes to branching in TFS 2010, see the post on First Class Branches.

UPDATE: This issue has been fixed as a part of the QFE Rollup and the fix will be available in SP1.  You can download the QFE here:

Comments (5)

  1. littlemtravis says:

    I was trying to use the command line to create a branch from a label, but it doesn’t recursively branch subfolders and files.  The command I am using is "tf branch $/project/oldbranch;LlabelName $/project/newbranch".  Is there anything you can tell me about the command line branching that will help me to get all the files recursively.

  2. wyndsayl says:

    If you installed SP1 only (not the previous hotfix) this apparently doesn't work.  It's supposed to, it's listed in the documentation, but it doesn't.   I've seen a few people on the boards with this issue.  Can the hotfix be installed after installing SP1?

  3. Pradeep says:

    Can you please let me know if this issue is resolved?

  4. Terry says:

    I'm trying to branch a project out based on the label but VS 2010 created the branch folder but is not branching folders /files recursively.

    Is there any solution for this?

  5. Priyanka says:


    I need your help to create a custom build flow for non .net project. I have a project which contain only .txt, .doc etc types of files only. I need to download the files from TFs server to Producion server. I have used "DownloadFiles" activity for this. But the problem is that I need only specific files which are checked in by today. I am not able to find out the version control  or specify the date to download particular dates file. Please help me as soon as.