TFS How does merging work?
Posted
by
Johannes Rudolph
on Stack Overflow
See other posts from Stack Overflow
or by Johannes Rudolph
Published on 2011-02-14T18:36:11Z
Indexed on
2011/02/24
15:25 UTC
Read the original article
Hit count: 284
I have a release branch (RB, starting at C5) and a changeset on trunk (C10) that I now want to merge onto RB.
The file has changes at C3 (common to both), one in CS 7 on RB, and one in C9 (trunk) and one in C10). So the history for my changed file looks like this:
RB: C5 -> C7
Trunk: C3 -> C9 -> C10
When I merge C10 from trunk to RB, I'd expect to see a merge window showing me
C10 | C3 | C7
since C3 is the common ancestor revision and C10 and C7 are the tips of my two branches respectively. However, my merge tool shows me C10 | C9 | C7
.
My merge tool is configured to show %1(OriginalFile)|%3(BaseFile)|%2(Modified File)
, so this tells me TFS chose C9 as the base revision.
This is totally unexpected and completely contrary to the way I'm used to merges working in Mercurial or Git. Did I get something wrong or is TFS trying to drive me nuts with merging?
Is this the default TFS Merge behavior? If so, can you provide insight into why they chose to implement it this way?
I'm using TFS 2008 with VS2010 as a Client.
© Stack Overflow or respective owner