Baseless merges now record history

Back in June, I wrote a post on using baseless merges to establish a merge relationship between two items where neither was branched from the other.  A week after I posted it, I had to go back and change it to say that baseless wouldn’t record merge history for v1, and thus you would only be able to merge items where one was a branch of the other.

I’m happy to say that’s been fixed both for the RC (available tomorrow) and RTM (available in March)!

So, if you have two folders, projectX and skunkWorksX, where neither is a branch of the other, you can establish a merge history between the two by running “tf merge /baseless projectX skunkWorksX /r” (or you can re-order the source and target, according to the direction in which you want to initially move changes).  When you are done resolving the conflicts and check it in, you will be able to merge normally between the two with “tf merge projectX skunkWorksX /r” or “tf merge skunkWorksX /r” depending upon which direction you need to propagate changes.

In v1 you have to use the command line to perform baseless merges.  Also, items that did not originally have a branch relationship will not show up in the Source Control Explorer in VS as able to be merged (you’ll have to use the command line).  Those are pretty minor tradeoffs for a really useful feature, though.

Comments (5)

  1. Rob Caron posts the Team Foundation Installation Guide RC.  He also has a post on upgrading to Team Foundation…

  2. bill says:

    Baseless merges do now record merge history, but you need to be very careful when doing baseless trees that are structurally different. i.e. renames have been performed on files/directory names

    After a baseless merge occurs subsequent merges between skunkWorksX and projectX will merge renames in interesting and probably confusing ways.

  3. Buck Hodges says:

    Now that the RC is out, I thought I’d post a summary with links to version control posts from the last…

  4. Daniel says:

    Is it possible to clear the history?  I just started a baseless merge but didn’t complete all the files (I closed the tool without merging all of them).  Now, I want to do it again on the same directories, but it tells me "there are no changes to merge".  I know there are changes, I can look in the directories and see differences.  Any ideas?

  5. buckh says:

    Daniel, there’s no way to clear the merge history, but you can force it to re-merge by using the /force option (/force /v:1~T would make it remerge everything from the source to the target).