Per the docs:
Shelves are purely a local client feature
Why then does it upload megabytes of data?
217 MB transferred, even though my shelved files when Exported amount to 0.7 MB.
How does shelving work in svn? Does it create an invisible branch on the server?
I imagined shelve to be an equivalent of git stash. If that's not the case, is there a local-only equivalent in svn?
To shelve your local changes, select your working copy and use Context Menu → Shelve The following dialog allows you to select the files you want to shelve and give a name under which you want to store them. If you select an existing shelf, then a new version is created for that shelf.
No. TortoiseSVN comes with everything you need to access a repository. Only if you want to set up a server then you will need the Subversion package.
Click on the new working copy and right click to select the repository browser (TortoiseSVN -> Repo-browser) Right click the file of choice in the repository browser and select "Update item to revision"
Select any file and/or folders you want to commit, then TortoiseSVN → Commit.... The commit dialog will show you every changed file, including added, deleted and unversioned files. If you don't want a changed file to be committed, just uncheck that file.
Documentation is right: shelving happens entirely inside your working copy. In current Subversion release (1.12.2) you can find the actual data at .svn\experimental\shelves\v3
. The dialogue is not using the verb "to transfer" to imply networking.
If you're unsure and want to verify it by yourself you just need to disconnect your PC from the network or disable access to the remote repository.
As the path highlights it's still an experimental feature and in fact the format has been changing a lot. Currently it seems to be like a second working copy; in earlier releases it was like a patch collection. Today's format seem to contain a lot of duplicate information, thus the total size.
Note: as of Subversion/1.13.0, svn help
no longer lists experimental commands —such as shelving-related ones— by default; you need the -v
flag:
Use '-v' to show experimental subcommands
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