I have a very messy TFS structure that I am trying to clean up (thanks to my predecessor). I now have a situation where I need to bring changesets selectively from one branch to another where they don't have a parent/child relationship and I don't want those changes to pass through their shared trunk. How can I do this?
I have tried a baseless merge - http://stackoverflow.com/questions/1437304/tfs-baseless-merge-on-specific-changesets - which told me that there were no changes to merge.
What I want to achieve is something like this http://stackoverflow.com/questions/633891/tfs-can-a-shelveset-be-restored-to-another-location except with a changeset.
In GIT I think this would be a simple cherry-pick.
My structure looks something like:
Y-C1-C2-C3
/
X-------------
\
Z
And the question is how do I get C2 from Y into Z without passing through X?