Reputation: 5558
I have two feature branches off of Main, FB1 and FB2. I have a single changeset in FB1. I need the changeset in FB2, but policy forbids me from merging it into Main at this time. So I run the baseless merge commandline:
Tf merge /baseless "$/FB1" "$/FB2" /recursive
Unexpectedly, TFS reports that every single file in the entire tree needs to be merged. After searching, I can find no explanation for why this is happening. Then I explicitly stated that I just wanted the one changeset:
Tf merge /baseless "$/FB1" "$/FB2" /recursive /version:C1436
I got the same result. It still says every single file needs to be merged. But the changeset only has two altered files in it. I expect that only the two files that changed would be merged. Why is TFS not behaving as I expect?
Also, is there some way to find out why TFS wants to merge two files? When I diff any of the files they are the same, so how do I determine what TFS does see as different?
UPDATE
What actually happened was that we renamed the root folder in one of the branches (I don't remember the exact setup) and that made TFS see everything as different.
Upvotes: 2
Views: 371
Reputation: 46
The syntax for the operation that you want is as follows. This says "Merge only changeset 1436 from FB1 to FB2."
tf merge /baseless /recursive $/FB1;C1436~C1436 $/FB2
Thanks, P. Kelley
Upvotes: 3