4

I need to get access to a shelveset that TFS and TF Sidekicks can't access and I'm trying to figure out how the data is stored in the database so I can change the shelveset owner.

dbc
  • 104,963
  • 20
  • 228
  • 340
Ryan
  • 4,602
  • 8
  • 37
  • 43
  • I know I shouldn't be dinking around with the database behind the scenes but we just recently had and interesting domain migration. We managed to avoid alot of the problems by having people shelve their changes then setting their workspaces up after the migration and everything was fine. One of our developers didn't save off all his old changesets, and I think when they re-acl'd the IDs and shut down the old domain TFS lost the ability to open the shelveset since it can't find a SID for the ID anymore. – Ryan Aug 31 '10 at 20:53
  • Good luck with this. I'm interested to see how it turns out. – Robaticus Sep 01 '10 at 14:35

1 Answers1

3

Ok, I found some information for you. Shelvesets are stored as workspaces in tbl_Workspace with the type = 1.

The following SQL will show you all of your shelvesets:

use TfsVersionControl;
select  * from tbl_workspace where type = 1

Once you find the shelveset, you may want to try the TFS Power Tools to do the unshelve.

Power tools link:

http://www.microsoft.com/downloads/details.aspx?FamilyID=fbd14eea-781f-45a1-8c46-9f6ba2f68bf0&DisplayLang=en

Robaticus
  • 22,857
  • 5
  • 54
  • 63
  • This is just what I needed. I found the entries with the old IdentityID and updated them to the new IdentityID and he was able to unshelve his old changes. Thanks! – Ryan Sep 01 '10 at 18:50
  • Glad I could help. Thanks for getting me to learn a little more about the internals of TFS. – Robaticus Sep 01 '10 at 18:55