Checkout
Julian Foad
committed
on 28 Feb
Add the shelving v2 implementation from Subversion 1.11, as an alternative
to the shelving v3 implementation from Subversion 1.12.

They hav… Show more
Add the shelving v2 implementation from Subversion 1.11, as an alternative

to the shelving v3 implementation from Subversion 1.12.

They have substantially different pros and cons, so it is beneficial for the

user to be able to choose.

Make the shelving CLI version selectable by an environment variable:

 env. var. not set                 => shelving v3 enabled

 SVN_EXPERIMENTAL_COMMANDS=shelf3  => shelving v3 enabled

 SVN_EXPERIMENTAL_COMMANDS=shelf2  => shelving v2 enabled

 SVN_EXPERIMENTAL_COMMANDS=        => no shelving CLI

* subversion/svn/svn.c

 Enable shelving v3 or v2 or neither, depending on the environment variable

 SVN_EXPERIMENTAL_COMMANDS.

* subversion/include/private/svn_client_shelf2.h

* subversion/libsvn_client/shelf2.c

* subversion/svn/shelf2-cmd.c

* subversion/svn/shelf2-cmd.h

* subversion/tests/cmdline/shelf2_tests.py

 New files, with contents copied from svn 1.11, with minor adjustments.

Show less