TFPT Unshelve migrate not working

Jay picture Jay · Sep 25, 2012 · Viewed 11.8k times · Source

I know this has been asked before, but as there were no answers, I'm asking again.

I'm trying to migrate a shelveset from one branch to another. I'm running the following command, from within the workspace DIR:

tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch

when i run that command I get the 'shelveset details' window up, with the changes, and the folder (pointing to $/Main)

Clicking unshelve gives me the conflicts dialog box, again with folder pointing to $/main. If I click resolve, i get the following options:

  • Keep my local changes Undo my local changes, and take the shelved
  • Undo my local changes, and take the shelved changes.
  • Keep my local changes, and merge the local and shelved contents

which ever option I pick, I never get any pending changes in 'new-branch'. The only changes I have pending are for the main branch.

any ideas?

Answer

Grant Holliday picture Grant Holliday · Feb 1, 2013

You need to run this command from a directory that is mapped to your target branch ($/new-branch, in your example).

For example if your current branch is => Main which is mapped in your workspace at C:\Workspace\TeamProject\Main\...

And you want to move the changes to Dev which is mapped at D:\Workspace\TeamProject\Dev

Then you need to run the following command, from the following directory:

C:\Workspace\TeamProject\Main> tfpt unshelve "changes;muusername" /migrate /source:$/TeamProject/Main /target:$/TeamProject/Dev

See Tarun's blog post for more details: http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx