The same restriction applies to undeletes pended by Merge. If you add /candidate to your merge command and look at what happened in those changesets, it should give you an idea what it's trying to do. Chances are it needs to pend operations on items that are currently deleted in the target branch.
Richard Berg MSFT wrote:
When you delete something, all of its children are recursively deleted as part of a single operation. You can't undelete a child directly; you have to undelete the "deletion root" (aka the item you originally deleted).
Yes - but the thing is - I try to merge a changeset 1391, and when i look at the destination I merge to with "View History" there are no changesets containing a delete that has been mereg beforehand. And all changesets up until 1391 has ofcourse been merged.
I have tried with another way to solve the problem - by discarding the offending merge.
tf merge /preview /version:C1391~C1391 "Mainline\Services\TemplateServiceTemplateServiceInternal\EmailTemplate" "BD Branch\Services\TemplateService\TemplateServiceInternal\EmailTemplate" /recursive
Gives the following error message:
TF14087: Cannot undelete '$/BrandShareProduct/BD Branch/Services/TemplateService
/TemplateServiceInternal/EmailTemplate/EmailTemplate.cs' because not all of the
deletion is being undeleted.
But when I try to do the following:
tf merge /discard /preview /version:C1391~C1391 "Mainline\Services\TemplateServiceTemplateServiceInternal\EmailTemplate" "BD Branch\Services\TemplateService\TemplateServiceInternal\EmailTemplate" /recursive
I get the following:
There are no changes to merge.
I have tried to remove the /preview from the /discard statement, just to see if the message printed was just wrong, but it is definately not discarding the part of the changeset i need.
Richard Berg MSFT wrote:
Is the target deleted? Can you post the output of tf changeset 1391?
It was a REALLY big changeset, so I wont post it here :)
Anyway - I found a solution to my problem - I did a baseless merge between version 1391 of my source with the latest version in my target - that way I could merge the two files that gave me the "Unable to undelete" errors.
After this I could merge the rest of changeset 1391 without any problems.
There were definately something fishy going on, and I will try to recreate the situation a day i get the time...
It would be helpful to see the output of the following.
tf dir /deleted "$/BrandShareProduct/BD Branch/Services/TemplateService
/TemplateServiceInternal/EmailTemplate/EmailTemplate.cs"
Perhaps there is more than one deleted item by the same name that is causing a problem.
Also, are you using the final RTM v1 or a pre-release (beta3 or RC)?
Buck
Well - actually I found a way to reproduce the error in a more simple setup:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=406233&SiteID=1
I havent had time to test it in the final product as we just got it installed last weekend, but that will most likely solve my problems.
But thanks for the reply :)
Best regards,
Thomas Skovsende