Shelve VERY slow

48 views
Skip to first unread message

RMcG

unread,
Jan 15, 2020, 8:44:06 PM1/15/20
to TortoiseSVN
= I am using TortoiseSVN v1.131 on a Windows 10 workstation
Selecting one file (in this case a program) that is less than 1 MB and choosing to Shelve it with a shelf name like ShlvTEST, hundreds of MB's are transferred, rather than just the one selected file, and after more than 5 minutes I end up interrupting the shelving action.  When I look in ./.svn/experimental\shelves\v3 there is a directory like nnnn.wc that contains the entire contents of the folder the program file lives in.  It seems to me the Shelving option does not act on the selected file path, but references the current folder path instead.  For me, shelving won't be helpful until it is fixed to work on a group of one or more selected files, rather than shelving the entire contents of the folder where the Shelving action is requested.  Thanks for your time looking into this.

Julian Foad (Assembla)

unread,
Jan 20, 2020, 11:30:03 AM1/20/20
to TortoiseSVN
Yes, you are right: the current experimental shelving option is impractically slow.

This shelving "v3" implementation, in svn 1.12 and 1.13, served to prove a design concept, introducing APIs into Subversion that enable shelving changes in a more complete and robust way than before. However, as the logic around those APIs was implemented in the simplest possible way to get it "functional", the performance is abysmal so many users are finding it effectively non-functional.

As it's not currently getting any further development, neither from myself nor from anyone else, we should probably disable or remove it.

RMcG

unread,
Jan 20, 2020, 11:37:53 AM1/20/20
to TortoiseSVN
Julian,

It would be a shame to drop the shelving feature, because it is very useful.  However, if there is no plan to develop it further, I agree it should be dropped from the context menu.

bobm.......

rtu...@protackllc.com

unread,
Apr 17, 2020, 4:21:59 PM4/17/20
to TortoiseSVN
In the last week, I helped a customer using TortoiseSVN having similar problems with Replify.  It's a byte level wan optimization software and works great with their OpenVPN client server deployment while everyone is working remotely.  It's saving them a tremendous amount of time and bandwidth with their developers and designers.  If you think it could help this feature, I could arrange more than their default 14 day trial to get feedback on if it helps this feature too.  You can download it directly from https://www.replify.com/ or let me know if you need help testing.

Rob

Nathan Hartman

unread,
Apr 18, 2020, 10:30:29 PM4/18/20
to TortoiseSVN
On Wednesday, January 15, 2020 at 8:44:06 PM UTC-5, RMcG wrote:
= I am using TortoiseSVN v1.131 on a Windows 10 workstation
Selecting one file (in this case a program) that is less than 1 MB and choosing to Shelve it with a shelf name like ShlvTEST, hundreds of MB's are transferred, rather than just the one selected file, and after more than 5 minutes I end up interrupting the shelving action.  When I look in ./.svn/experimental\shelves\v3 there is a directory like nnnn.wc that contains the entire contents of the folder the program file lives in.  It seems to me the Shelving option does not act on the selected file path, but references the current folder path instead.  For me, shelving won't be helpful until it is fixed to work on a group of one or more selected files, rather than shelving the entire contents of the folder where the Shelving action is requested.  Thanks for your time looking into this.

In the coming weeks, version 1.14.0 of the underlying Subversion libraries is expected to be released. While shelving continues to be an experimental/incomplete feature, 1.14.0 will allow users to select between two experimental shelving implementations via an environment variable. In particular, it will allow users to select the "Shelving-v2" implementation that was present in 1.11, which is significantly faster at the cost of not being able to shelve copies, moves, or directory creation/deletion. Although 1.14 is not released yet, a preview of the release notes is online and gives details about the two shelving implementations, including a comparison table of their capabilities, here: https://subversion.apache.org/docs/release-notes/1.14.html#shelving

Anyone who would like to get involved in furthering development of Shelving (or any other features of Subversion) is welcome and encouraged to join our dev mailing list: https://subversion.apache.org/mailing-lists.html

Cheers,
Nathan

Reply all
Reply to author
Forward
0 new messages