I don’t usually waste time ranting about a particular product here, but Microsoft’s Team Foundation Server earned my wrath today. I’ve long been disappointed with TFS’ abysmal merging capabilities, only slightly more tolerable than those of the now-ancient and thankfully deprecated Visual Source Safe.

Due to a small communications snafu, I had to conduct a rather complicated merge scenario where I needed to pull out specific changesets and merge them into another branch. This quickly became an exercise in frustration as I realized a couple limitations to TFS’ merge capability:

  1. You can only merge consecutive changesets in one merge operation. At first I thought this was just going to be a minor annoyance since I could just do multiple merges into the same branch, but…
  2. You can’t do two merge operations on the same file. This is the part where my afternoon gets slow and boring.

So basically if I try to do two merge operations, and the changesets selected in those operations happen to contain some of the same files, TFS provides a helpful “incompatible operation” error. Brilliant! So here’s what my workflow ended up looking like:

  1. Start merge from branch 1, choose changesets (crossing my fingers and hoping I’ll get more than 1 or 2 at a time since they have to be consecutive).
  2. Resolve conflicts in branch 2.
  3. Check in merged files in branch 2.
  4. Go to step 1.

And I ended up doing that about twenty times. Yuck.

posted on January 13th, 2011 at 4:25 pm

← Back to articles