Team Foundation Server - Previously merged changesets reappear in merge wizard

You are correct, the "*" means that some files in changset 3 have been merged in to "release" and others haven't. This is usually caused by un-checking files in the pending changes window when merging.

Have you recently upgraded from TFS 2008? We had the same situation after our upgrade. In TFS 2008 if you unchecked a file from a merge checkin, TFS assumed that you never wanted to merge that file ever ever ever! The only way to pick up the unchecked files was to drop to the command line and use tf merge /force

In TFS 2010 the behaviour has changed and now if you do a partial merge TFS will always remind you that there are outstanding merge candidates in a partially merged changeset.

You can do 2 things.

  1. Merge the changesets (it's unlikely that you want to do this given the length of time that has passed)
  2. use the command tf merge /recursive /discard /version:C3~C139 [source] [destination] This will tell TFS that you want it to think it has done the merge even though it hasn't

We determined that the reason for this behaviour was that a previously deleted file had been 'resurrected' in the Main branch, in the sense that a new file was created with the same name.

When this happened, all previous changesets which had this file in them reappeared in the merge dialog as partial changesets.

A full merge seemed to resolve the issue.