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 link doesn't really achieve the user experience I was looking for:
Shelving Subversion
One of the greatest things about TFS Shelve is how easy it is to use...
Shelve changes Shelving is temporarily storing pending changes you have not committed yet. This is useful, for example, if you need to switch to another task, and you want to set your changes aside to work on them later. With IntelliJ IDEA, you can shelve both separate files and entire changelists.
Unshelve changesIn the Shelf tab, select the changelist or the files you want to unshelve. Press Ctrl+Shift+U or choose Unshelve from the context menu of the selection. In the Unshelve Changes dialog, specify the changelist you want to restore the unshelved changes to in the Name field.
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.
Shelving in SVN is starting to roll out with version 1.10, see Release Notes
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With