Merge is using the wrong file version!


  • The way we have TFS set up, there is a "Main" branch where all of our code resides, and from the Main branch, there are new branches created for each release.  Each release branch was branched from Main.

    Here is our issue:

    A branch for "Release 4" was created (branched from Main) because there was a long-term project that needed to be worked on.  About a month later, a "Release 3" branch was created, also branched from Main. 

    A file, let's call it Abc.cs, was edited in both branches.  The "Release 3" branch was merged into main (changeset 300), and Main was then merged into the "Release 4" (changeset 400) branch.  Since the edits for Abc.cs in the "Release 4" branch were only for testing, Abc.cs was replaced with the file from Main during the merge.

    Now it's time to merge "Release 4" back into the Main branch.  When doing the merge, it is saying that there are conflicting changes in Abc.cs.

    First, I don't know why that would be, because the latest version of Abc.cs in Main is from the merge of the "Release 3" (change set 300) branch into Main, and the latest version of Abc.cs in the "Release 4" branch is the result of the merge from Main (change set 400).

    When I click on the Resolve button during the merge, and click Compare Source and Target,  the file it brings up for the Main branch is correct, but it brings up the Pre-merge version of the file for "Release 4".

    I cannot figure out why it's trying to merge an older version of the file.  I made sure to get the most recent version of the file from both branches in my workspace (using Get Specific version -> latest version, and clicking both checkboxes). 

    Does anybody know why TFS is trying to merge the wrong version of the file?  I have tried merging using both "Latest Version" and "Workspace Version" with the same results.  Even though the version of the file from both branches ("Release 4" and "Main") are correct on my hard drive.

    Monday, April 23, 2007 8:34 PM


All replies