8

We are moving from TFS to Subversion. A colleague remarked that he will be very disappointed if he loses the ability to do shelving. In TFS, it is possible to create a set of files to be preserved under a single name. The files are saved in the repository, but not in HEAD or any branch. The changes are just archived and tagged.

This is similar to tagging a set of changes in Subversion, but does not require changes to be checked in. Shelving is useful for code reviews, for making checkpoints of stable versions of changes (not yet checked in) and for just keeping changes safe on the repository even if they are not yet ready to be checked in.

It seems to me that to do this in Subversion requires branching the code in the repository and checking one's code into that branch. That's a lot of bother if one is somewhat likely to discard the changes.

Robert White
  • 711
  • 6
  • 11
  • Have a look [here?](http://stackoverflow.com/questions/8496/shelve-in-tortoisesvn) – StuartLC Dec 19 '13 at 21:25
  • 1
    Thanks. That led to the answer. There are at least two solutions: (a) Use DVCS (git or mercurial) to a private repository on the network. (b) Update, create branch, switch to new branch, commit to branch, switch back to original branch or trunk. – Robert White Dec 19 '13 at 22:16
  • Glad it helped. I'm a huge fan of git - once bitten, its nearly impossibly to go back to SVN or TFS. – StuartLC Dec 19 '13 at 22:18

2 Answers2

8

Subversion has a feature that is similar in concept to shelvesets. Its called Patching. See this article for a comparision of a TFS shelveset and a SVN patch:

Simulating TFS shelvesets in subversion

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
Kev
  • 1,832
  • 1
  • 19
  • 24
  • The encouraging news comes in the first line of that article, that proper shelvesets will be supported in svn 1.8. – Robert White Mar 21 '14 at 21:30
  • 3
    Ignore that first line, 'proper shelvesets' did not actually make it into final release of SVN 1.8. – Kev Mar 23 '14 at 11:31
2

Subversion 1.10 now officially supports shelving.

https://subversion.apache.org/docs/release-notes/1.10#shelving

Stephen Kennedy
  • 20,585
  • 22
  • 95
  • 108
David
  • 76
  • 7
  • Note that 1.10 mentions it as EXPERIMENTAL only with no guarantee of backward compatibility. So yes we can try it and surely give the feedback! – B Charles H Aug 24 '18 at 12:55