I've been writing a small utility for moving work items between Team Projects.  I just got it into a good state so I posted it on my Code Gallery project.

Moving work items between Team Projects was a bit trickier than I expected.  I ran into a bunch of subtle issues like:

  • You can't delete work items to TFS, so how to implement a 'move' rather than a 'copy'?
  • What happens if the destination Team Project doesn't have the right work item type, users or permissions?

What I did to implement a 'move' is to mark the source work item with a new state called 'Moved' (this state is inserted into the work item type of the source work item).  The destination work item type retains the original state.  I also look to see if the destination Team Project has the right work item type, if it doesn't, I'll import it in.  For now, I'm not dealing with users or permissions.

Anyways, it was a fun little project to write up - I'd love to get some feedback on it, so if you have a chance please check it out.