There are many things I like about TFS (including the main one "It's not the abomination known as Visual SourceSafe"). Unfortunately the merge support in TFS 2005 is...well...lacking. Not being able to merge to branches other than a direct parent or child is highly restrictive. Additionally the merge dialogues are frankly confusing. Take the following (preferably far away from me).

image

"Merge changes for me" is relatively straight forward. But what do the other options mean? You could try trial and error, but that's annoying. Fortunately someone at Microsoft noticed this, if not in time to fix in in the release version. I found this nifty blog post earlier today that discusses the problems and gives the meanings of each option. Why this wasn't incorporated into the service pack I don't know. I'm yet to work on a project with TFS 2008 where I can only hope this and the merge limitations have been resolved.