TFS Auto Shelve


Create a shelveset for the latest version of all pending changes, automatically. Pending changes from the local TFS workspaces will be shelved to the TFS Server every "x" number of minutes when solutions are opened.

(14) Review
Visual Studio
Download (7,418)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (14)
Q and A (16)
Sign in to write a review
Sort by:

by ScoreGamer | November 25 2015

by Frank Wenner | November 03 2014

it would be nice if could be used with visual studio express together with tfs express. Please make it possible to use it with the express editions.

by Dmitry Gusarov | January 10 2013

Great idea, thanks!
Could you add an ability to store N last shelves? e.g. for undo purposes (may be I lost my work and realized it after 5 minutes, while shelve already rewritten). I suggest 3..5 shelvesets by default.

by John Ludlow | June 25 2012

Nice idea, but it's taken my username (rather than the workspace name) as the shelveset name. I have several workspaces, so changes in one workspace blat the changeset for another workspace.

e.g: I would expect this:

TFS Auto Shelve - Workspace1
TFS Auto Shelve - Workspace2
TFS Auto Shelve - Workspace3

Whereas I get this:

TFS Auto Shelve - DOMAIN\User_Name

It also seems to shelve whether or not anything has changed since the last time it shelved.

(Just realised this has already been noted on the Q&A. Oh well...)

by VMK007 | March 30 2012

Edited. Back down to one star until we have the option to disable it from displaying messages in the output window.

by HanduMan | February 17 2012

Great idea, worth of five stars, but compatibility issues with domain networks (?) take three of them away. See Q and A for details.

by Colby Africa | October 05 2011

Perfect. Much needed. Thank you!

by Stimo | August 30 2011

It's good, but I would like to autoshelve my changes even if I haven't got any solution open. I can make changes to files out of any solution.


by ShivaniS | August 05 2011

Love it. I no longer worry about backing up my work. I can rely on TFS Auto Shelve. I have it installed on all my dev machines. Thanks for a great extension!

by Bebo | January 19 2011

Great safety net! It quietly runs in the background and only have to interact with it when I REALLY need it!

by MikeParks | May 23 2010

by MSDNMike | May 20 2010

by CoryCiss | May 06 2010

by Cory Cissell | May 06 2010

Sign in to start a discussion

  • Not Honoring Multiple Workspaces - Lost Code!
    6 Posts | Last post September 19, 2013
    • The Description here specifically says that the Workspace Name will be appended to the Base name.  That is not happening in our environment.  Both myself and another developer have this behavior: It is appending our domain username after the dash rather than the workspace name.  That means anytime we open an IDE with a different workspace, our other workspace's shelveset gets overwritten.  Completely defeats the purpose of the extension.
    • P.S.  Visual Studio and TFS 2010
    • Same here. I have several workspaces but there is only one shelvset 'TFS Auto Shelve - <domain>\<user>'. The Shelve gets overwritten for each workspace I have. Finally there are just the files of the last workspace in it. 
      My Environment: VS2010 Ultimate (x64) german with TFS 2010
      Format Workspace: Project-XYZ[MAIN][WorkstationName]
      Perhaps some characters in the name of the workspace.
      Any Idea? I would like to use your tool. Sounds really good :-)
    • Any news on this one? I love the idea of this tool, but this problem makes it unusable for me.
    • I have the same issue, but only after upgrading from v1.3 to v1.6. What versions are you all using?
    • I have the same issue, VS 2010/TFS 2012. Unfortunately this makes the tool quite worthless in our environment, which is very disappointing, since it is an very great idea.
  • Cant find the shelveset
    6 Posts | Last post August 02, 2013
    • Hi,
      I installed this extension on VS 2010 premium. I can find the 2  menu items under team menu. But they are disabled. One menu items says TFS Auto shelve is running, but When I try to unshelve, i can't find any of the shelveset?
      Any idea?
    • Hi akjal,
      items on menu are able if a solution is open.
      Best regards
    • Hi thanks for the reply.
      The solution is open .Still the menus are disabled.  When I open the output window for tfs auto shelve, it says "TFS Auto Shelve is running".
      . But I cant find anything when i look for Unshelve. I could see the shelvesets there which I manually create.
      Dont have any clue :(
    • Hi, do you read any information on Output windows (Show output from : TFS Auto Shelve) ?
    • Yes. It says "TFS Auto Shelve is running"
    • Another thing I noticed is the two menu items in Team Menu : 1. "TFS Auto Shelve(Running)" and 2. "TFS Auto Shelve Now" are disabled.No idea is this the default behavior.
  • Could not find file 'E:\DDD\TUBElab\Dev.Old\OCCMFC\Source\OCC_3dView.cpp'.
    2 Posts | Last post July 18, 2013
    • After install (and restart VS2010 with TFS 2010) I open a solution but errors occurs:
      TFS Auto Shelve is running
      Could not find file 'E:\DDD\TUBElab\Dev.Old\OCCMFC\Source\OCC_3dView.cpp'.
         at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
         at System.IO.FileInfo.get_Length()
         at Microsoft.TeamFoundation.VersionControl.Client.FileUploader.BeginUploadFile(Workspace workspace, PendingChange change, FileInfo fileInfo, AsyncCallback userCallback, Object stateObject)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.BeginUploadFile(PendingChange change, AsyncCallback userCallback, Object stateObject)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.AsyncUploadFile(PendingChange change, AsyncUploadOperation asyncOp)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.UploadChanges(IEnumerable`1 changes, OnProcessingChangeDelegate onPendingMethod)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.ShelveInternal(Shelveset shelveset, PendingChange[] changes, ShelvingOptions options)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.Shelve(Shelveset shelveset, PendingChange[] changes, ShelvingOptions options)
         at VsExt.AutoShelve.TfsAutoShelve.SaveShelveset()
      FILE E:\DDD\TUBElab\Dev.Old\OCCMFC\Source\OCC_3dView.cpp is not part of this Solution !?
      I have aslo try to checkout a file but I have got same errors.
      Any suggestions ?
      Best regards
    • I have also check Shelves and I found a strange shelve:
      * TFS Auto Shelve - ILABddd
      with 3 Items that are not checkout in workspace used in the open solution.
  • Focus Stealing
    8 Posts | Last post March 19, 2013
    • After the latest update, a random running instance of Visual Studio steals focus whenever TFS Auto Shelve runs, which is maddening when it happens. Is anyone else seeing this? I'm downgrading back to the previous version I had installed...
    • Yes, I see this. 
      Also, when TFS Auto Shelve writes to the Output window (every time it shelves) it switches to the 'TFS Auto Shelve' Output window, taking focus away from the selected Output window which is very frustrating.
    • Could we get an option to suppress this output or just turn it off all together?  Having visual studio maximize every 5 minutes is getting really annoying.
    • Love the product.  Hate the maximizing every 5 minutes.  I second the suggestion to get an option to suppress having it take focus.
    • Focus stealing is annoying. Mike, would you be able to spend 15 mins to change it to make us all happy please?
    • Yes, having VS steal focus and pop up random VS instances is SO ANNOYING.  Same with the output window changing. I'm about to stop using this because of those 2 things.
    • Oh PLEASE PLEASE fix this issue...   How many times has it switched to Visual Studio while I was in the middle of typing and it caused a checkout of a source file?   I can't even count them.  I *LOVE* this extension but since i reloaded my machine and loaded the latest version, it is almost unusable.
    • I think it may be specific to the status bar message updates, rather than the Output window.  Thankfully, this isn't an issue in the VS 2012 version.
  • Feature request: rolling backups?
    3 Posts | Last post March 19, 2013
    • I was thinking that it would be neat if this addin would keep a configurable number of rolling backups. That way if you have it set to 5 backups set at every hour, you would have shelfsets running 5 hours back with changes at each hour. Does that make sense? That way you kind of have an undo going back in 1 hour increments.
      What do you think?
    • Sounds like a good idea. Not sure if I'll have the extra time to implement it anytime soon though :) As a  work around, you could just create a batch file and have a windows task execute it every hour. I wrote a blog on how to do this a while back. If you look through the comments, Jaap suggested a way to use the day of the week and hour variables in the shelveset name:
    • I just published a 2012 version of this tool, which allows for a date time format string to be included in the shelveset name.  For example, you could set the ShelveSetName expression to "Auto-{1}-{2:yyMMdd hhmmss}"  where {0}=WorkspaceInfo.Name, {1}=WorkspaceInfo.OwnerName, {2}=DateTime.Now.  Just be aware that the shelveset name will be truncated to a maximum of 64 characters.
  • VS 2012 support?
    2 Posts | Last post March 19, 2013
    • Any plans?
    • I published a separate 2012 version.
  • TFS Auto Shelve shelved 0 pending changes. Shelveset Name:
    6 Posts | Last post March 19, 2013
    • I just downloaded TFS Auto Shelve.
      I have some pending changes so I tried to force auto-shelve but every time I got this message:
      "TFS Auto Shelve shelved 0 pending changes. Shelveset Name: " and nothing more happened.
      The version 1.6 doesn't fix the problem?
    • I am having this same exact issue. Any attempt to manual or auto save using the extension gets the same result, and no items get shelved.
      It says the same exact message in the status bar as well as the output window.
      I am using VS 2010. I am not certain what version of Team Foundation Server is being used.
    • Same issue here. Just downloaded v1.6. VS2010 and TFS2008.
    • I fixed my own issue.
      new vsix:
    • Try unable Scheduled Tasks in the Control Panel if it was disabled. 
    • @DDSeb: What was the fix?  Uri.Replace("/",string.empty) before comparing URIs?
  • The process cannot access the file 'some file.ext' because it is being used by another process.
    1 Posts | Last post January 03, 2013
    • The following appeared in Visual Studio 2010's "TFS Auto Shelve" output window:
      TFS Auto Shelve shelved 51 pending changes. Shelveset Name: TFS Auto Shelve - domain\username
      The process cannot access the file 'C:\WorkingPath\Some word document.docx' because it is being used by another process.
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.UploadChanges(IEnumerable`1 changes, OnProcessingChangeDelegate onPendingMethod)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.ShelveInternal(Shelveset shelveset, PendingChange[] changes, ShelvingOptions options)
         at Microsoft.TeamFoundation.VersionControl.Client.Workspace.Shelve(Shelveset shelveset, PendingChange[] changes, ShelvingOptions options)
         at VsExt.AutoShelve.TfsAutoShelve.SaveShelveset()
      Can this exception be caught or locked files identified and the Volume Shadow Copy Service be used only on those locked files for example?
  • Visual Studio 11
    1 Posts | Last post March 12, 2012
    • What about compatibility with new Visual Studio 11 aka Visual Studio 2012??
      It would be nice to have your great extension available there.
  • Suggest
    3 Posts | Last post November 22, 2011
    • Accidentally delete the code but it's Shelved, 
      when I open VS again,I want to get the delete version before, but no,
       I hope to add a feature that can save several versions of the set
    • Yeah, we were planning on updating the extension to do this but always seem to get caught up with other work :) There's been a few others that have requested this feature as well. I wrote a blog on how to do this without using an extension a long time ago. I think it should still work for VS 2010. You can try it as a work around for now if you'd like:
    • I have the same issue with v1.6. Do you support other Team Project Collections than the DefaultCollection? In our team we use a dedicated Team Project Collection. When I use your tool using that collection, I get the same behavior as desrcibed above.
      I did an additional test where I use the DefaultCollection. On this collection everything works fine.
1 - 10 of 16 Items