Improvements to baseless merge in TFS 2010 SP1

Starting with TFS 2010 SP1, there are two improvements to how baseless merges work: base file version and handling deleted files.

First is that if you specify a starting range for a baseless merge, we will now use that changeset as the base in the three-way content merge. That results in a vastly improved experience in merging file content for a baseless merge. For example, tf merge /baseless /v:1234~1234 $/ProjX/foo $/AcmeV2/foo or tf merge /v:1234~T $/ProjX/foo $/AcmeV2/foo.

The second is the handling of deletions. Before the change, items that are deleted in the source branch were not included in the baseless merge. That meant that if you had deleted obsolete files as part of your changes they would not get deleted in the target branch when doing a baseless merge. After the change, if a path is deleted in the source the corresponding path in the target will have a merge,delete conflict. Also, if a file is not deleted in the source but is deleted in the target, the target will get a merge,undelete conflict. The result is that you get a higher fidelity result in the target branch. This was made possible by the changes in TFS 2010 where merge lines up the items by path rather than by item ID.

Comments (8)

  1. Kilpatrick says:

    Just wondering if this change is related to/will also help fix an issue that I raised on Connect about the handling of deleted files, when performing a folder comparison using a label as a base?


  2. buckh says:

    Kilpatrick, I just checked, and unfortunately that issue is not fixed in SP1.  The bug is still active for the next release.


  3. Ted says:

    It's been 2.5 years since a service pack for Visual Studio 2008.  Can we get a SP2?

  4. buckh says:

    Ted, I'm not aware of any plans for a second service pack of VS 2008 at this time.  Are there particular issues you are looking to be addressed?


  5. Shay says:

    Will these changes require TFS 2010 SP (server)? Team Explorer 2010 SP1 (client)? or both?

    Will they be available to older clients (2005/2008 with forward compatibility hotfix)?


  6. Mr S says:

    Baseless merges from Source Control Explorer would be great too…

  7. buckh says:

    Mr S, I agree, and I very much hope we get it into the next release.


  8. buckh says:

    Shay, that's a good question.  These are server-side changes.  So you will just need to make sure you have SP1 on the server to get this, and it will work with 2005/2008 clients as well.