views:

906

answers:

5

I've moved from TFS to SVN (TortoiseSVN) with my current company. I really miss the "Shelve" feature of TFS. I've read various articles on how to "Shelve" with SVN, but I've read nothing that gives a very simple experience to "shelve" work.

Ideally, I'd like extra items added to the TortoiseSVN context menu - "Shelve" & "Unshelve". "Shelve" would remove the current shelve-set, and upload the working directory under a suitable path defined by user options. "Unshelve" would merge the set with the working copy.

Does something like this exist? Can anyone suggest any ways to "hack" this feature in the GUI?

Note: The following links don't really achieve the user experience I was looking for:

http://geekswithblogs.net/flanakin/archive/2005/12/02/61929.aspx
http://mikemason.ca/2005/03/30/

One of the greatest things about TFS Shelve is how easy it is to use...

+6  A: 

I don't believe that SVN has this feature built into the server product. I also don't believe anything like this emulated in any clients that I have used, including TortoiseSVN.

To get around this problem, I have resorted to using a DVCS such as git or mercurial, to allow me to branch/merge/shelve locally before pushing the content back to SVN. It's arguably a bit of a kludge, but it works really well.

I hope that helps. Good luck!

OJ
I don't think it's a kludge L-) I've used a separate personal VCS for years when working with teams where we had strict control over checkins (and particularly with locking based VCS like SourceSafe).
Andy Dent
You're right, it's not a kludge. To be honest I don't know why I said it, probably a bit of a disclaimer to avoid being lambasted :) I'm very happy with using DVCS for local shelving before pushing to a standard CVCS.
OJ
A: 

Nopes, Shelve doesn't exist in SVN. Anything will be a cumbersome workaround. You would be better off unlearning the use of Shelve.

Vaibhav
+1  A: 

Have a look at this post for details on how you can mimic shelving behaviour in Subversion.

Trumpi
+1  A: 

Shelve utility on CodeProject

About to try this myself to see if it works

Crippeoblade
Link moved to http://www.codeproject.com/KB/architecture/SvnShelve.aspx
Brian Carlton
A: 

Here's an article that gives examples of creating a shelf in svn and merging between your shelf and the trunk. http://wiki.littlebluefroglabs.com/index.php?title=Subversion_and_Shelving