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.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/decouple-shelving-cli@1874634 13f79535-47bb-0310-9956-ffa450edef68
6 files changed