We have a couple of developers who are in favor of the manual merge in TFS 2010, it's when you open two visual studios, one with the source branch and another one with the target branch and you manually copy&paste your changes.
They do it this way because they believe an automatic merge is dangerous (as it bring in changes of other developers even if you did not want to). And the typical test case is following:
Source Branch:
TestFile.cs
Changesets:
1. Line 5 changed
2. Line 13 changed
Target Branch:
No changes yet.
Now I would like to merge only changeset #2 for the TestFile.cs
What lines would the resulting TestFile.cs in the target branch contain if merged automatically: the original line 5 and the changed line 13 or both lines 5 and 13 changed?
In fact I have seen both variants and I don't know why.
Any link to a great description of how exactly TFS merge works would be great to have.
Advanced scenario: Source Branch:
TestFile.cs
Changesets:
#1. Line 5 changed, Line 6 added
#2. Line 13 changed
Target Branch:
No changes yet.
If I only merge changeset #2 what should I get in the target branch? Will I only get the line 12 changed according to the changeset #2.