Hub for Subversion enhancements within Assembla's ECVC
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
shelve-demo-1.png
tsvn-1-cmenu-shelve.png
tsvn-1-cmenu-unshelve.png
tsvn-1-dlg-shelve.png
tsvn-1-dlg-unshelve.png
tsvn-2-dlg-shelve.png
tsvn-2-dlg-unshelve.png

README.md

ECVC-SVN

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.

Current status

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.

Try Shelving...

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 TortoiseSVN->Shelve.

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.

context menu

shelve dialog

unshelve dialog

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.

command line

Assembla's Repositories on GitHub

assembla/subversion

A central point for Assembla's contributions to Apache Subversion

  • forked from a read-only mirror repo (not automatically updated)

assembla/tsvn

A central point for Assembla's contributions to TortoiseSVN