title: TFS merge algorithm issue
body: <p>We use TFS 2010 and have three branches: Dev -> QA -> Production.</p>
  
  <p>In this particular example we decided to change the method parameter type and a name from "Guid reportGuid" to "int reportId". We did this change in the QA branch and checked it in. And now I'm trying to pull this change from QA to Dev branch. Usually it is done in the opposite direction but in this exceptional case we did what we did. <a href="http://i45.tinypic.com/2cokmmb.jpg" rel="nofollow">Here</a> is screenshot of merge tool. As you can see from the screenshot, the last check-in on the file in the Dev branch got change-set number 30282 and in the QA - 31002 (which is newer than 30282). As for me it's quite obvious that newer change should override an older one. But what TFS merge does is opposite. It applies old code from Dev branch (30282) over new code from QA branch (31002) and the result doesn't get the change.</p>
  
  <p>Can somebody explain why TFS merge acts like that?
  Thanks in advance.</p>