The hub for Assembla's ECVC enhancements to open-source Subversion software.
Current Project: Shelving
Shelving means setting your uncommitted changes aside, so that you can work on something else. Shelving is a fast, local, convenient way of creating and applying patches, similar in concept to 'git stash'.
From the central Wiki page Shelving and Checkpointing you can read about the rationale and the current limitations and possible extensions. You can add your comments in there too.
Shelving v1 is available in TortoiseSVN 1.10 and command-line Subversion 1.10. Shelving v1, based on patch files, supports basic kinds of changes including text file content and properties.
Recent developments of Shelving and Checkpointing are available in Cornerstone 4 and preview builds of command-line Subversion. Support for 'binary' files, and other improvements, are currently in development.
Go to https://www.assembla.com/subversion to download for Windows, MacOS or Linux.
-- or --
Build the current development version of Subversion or TortoiseSVN from source, following the normal build procedure of those projects.
How to Use Shelving in TortoiseSVN 1.10
Start with a version-controlled folder or file that contains some local (uncommitted) changes. Right-click; select
Enter a name; click OK. Subversion makes a patch (like with the
Create Patch command) and saves the patch into
.svn/shelves/NAME.patch and reverts those changes from your local files. That is Shelving your local changes.
Then you can make other changes and shelve them with a different name.
You can restore the previously shelved changes back into your working files. Select
TortoiseSVN->Unshelve and select the name of the shelved change, click OK, and Subversion applies the patch (like using the
Apply Patch command) and removes the patch.
See also: Creating and Applying Patches in TortoiseSVN.
How to Use 'svn shelve' on the Command Line
The command-line interface is documented in
svn shelve --help and
svn unshelve --help. For information about the development, and a comparison with git/hg/bzr/p4, see Shelving Command-Line UI Design.