145

I can find the shelve button okay, and had shelved changes earlier today, but now I can't seem to find a way to unshelve them! This has left me in quite a predicament!

If this button is in fact missing in the Visual Studio 11 Beta, perhaps there is a console based TFS command I can execute to temporarily accomplish this?

Thanks all, I actually can't find an answer on Google for this either.

Stu
  • 15,675
  • 4
  • 43
  • 74
GONeale
  • 26,302
  • 21
  • 106
  • 149
  • 3
    [`tf.exe`](http://msdn.microsoft.com/en-us/library/z51z7zy0.aspx) is the command line client, and can do anything the IDE can (and more). – AakashM Apr 20 '12 at 10:51
  • 2
    Yes: took under 10s starting from Pending Changes tab (and knowing that a highlighted text with a download leads to more options). – Richard Apr 20 '12 at 13:06
  • 2
    Oh I see, it's under "Find Shelvesets". I suppose because I'm looking for the word "Unshelve" that menu item got bypassed in my brain automatically :) Thanks. – GONeale Apr 24 '12 at 00:05

5 Answers5

232

Go to Team Explorer, then "Pending Changes", then "Actions", then "Find Shelvesets", then right click on the shelve you want to unshelve, finally "Unshelve".

Nock
  • 6,561
  • 1
  • 28
  • 27
  • 3
    Anytime. I admit the new interface introduced a lot of changes. Making things clean and simply has some drawback: it's harder to find the uncommonly used operations. – Nock Apr 24 '12 at 10:09
  • 31
    What seems odd to me is that its easier to shelve something and harder to un-shelve something, as if people shelve a lot of things but rarely unshelve them. – Mark Broadhurst Jan 22 '13 at 09:49
34

Also :

File > Source Control > Find > Find Shelvesets
Sylvain Rodrigue
  • 4,751
  • 5
  • 53
  • 67
10

I always used to right-click on the solution and choose "Unshelve". To add this functionality back:

  1. Click on the menu "Tools > Customize". This opens the "Customize" dialog.
  2. Select the "Commands" tab.
  3. Choose the "Context menu" radio button in the "Choose a menu or toolbar to rearrange" section.
  4. Choose "Project and Solution Context Menus | Solution | Source Control" from the drop down.
  5. Click the "Add Command" button. This opens the "Add Command" dialog.
  6. Choose "File" in the "Categories" list.
  7. Choose "TfsUnshelvePendingChanges" in the "Commands" list.
  8. Click the "OK" button to close the "Add Command" dialog.
  9. Use the "Move Down" button to place the new menu item in the proper place.
  10. Click the "Close" button to close the "Customize" dialog.
Greg
  • 16,540
  • 9
  • 51
  • 97
4

Generally if you can't find an option among the thousands available in Visual Studio there is a very useful "Quick Launch" (Ctrl-Q) function. In this case if you type "shelve" it will show you where to find shelvesets.

Ogawa
  • 87
  • 1
  • 8
Andrzej Martyna
  • 455
  • 1
  • 9
  • 13
2

Just like to add to Nock's answer that you can only see the unshelve option if you open a solution under source control.

You will not see the option if you open a blank solution, regardless if your Visual Studio workspace is connected to Team Foundation or not.

This is how it looks like if you tried unshelving a shelveset in a blank solution (with TFS connected to your Visual Studio workspace and source control all connected), where there isn't an option to unshelve from source control.

Blank Solution with TFS Connected

This is how it looks like with a solution under source control opened.

Unshelve option

Moral of the answer is to open any solution/project you may have that is under the source control which has the shelveset you want to unshelve.

matrixanomaly
  • 6,627
  • 2
  • 35
  • 58