Today one of my colleague was trying to merge parent branch changes to a child branch. When he was trying to do that, the parent branch appears in the source drop down, but the child branch does not show up in the target branch dropdown.
Scenario: Let us call the parent branch Dev_P and child branch Dev_C. Dev_C was created by branching Dev_P. Over a period of time something went wrong in Dev_C, making copy of it they were forced to delete it; Then created a new Dev_C. When you look at the properties –> branch tab on the Dev_P I could see there was branch Dev_C. But when I looked at Dev_C property for branches could not find none. But the situation was we had to merge Dev_P into Dev_C. So the only option I had was to do baseless merge.
For more info : http://msdn.microsoft.com/en-us/library/bb668976.aspx
Tf merge /baseless c:\data\dev_P c:\data\dev_C /recursive but that would not work it was giving me error. “Exactly two items (source and target) are required. Either local or server paths may be used.” I think it is because of some workspace mapping. The way I got around this was to just change the source and target path to local to server.
Tf merge /baseless $TestTeam\dev_P $TestTeam\dev_C /recursive