Revision
1875037 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 10 12:16:26 2020 UTC
(4 years, 4 months ago)
by
julianfoad
File length: 1507 byte(s)
Copied from:
subversion/branches/decouple-shelving-cli/subversion/svn/shelf-cmd.h revision 1875035
Diff to
previous 1874631
(
colored)
Merge the 'decouple-shelving-cli' branch to trunk.
Summary:
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
Revision
1874631 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Added
Fri Feb 28 21:09:13 2020 UTC
(4 years, 4 months ago)
by
julianfoad
Original Path:
subversion/branches/decouple-shelving-cli/subversion/svn/shelf-cmd.h
File length: 1507 byte(s)
Initialize the 'svn x-shelf-*' commands programmatically at run time,
instead of hard-coding them in svn's main command table.
A step towards decoupling the experimental shelving CLI from the main CLI.
* subversion/svn/cl.h
(svn_cl__longopt_t,
SVN_CL__LOG_MSG_OPTIONS): Move to here from svn.c.
(svn_cl__shelf_*,
svn_cl__wc_copy_mods): Remove these declarations.
(svn_cl__cmd_table): Change to a pointer.
* subversion/svn/shelf-cmd.c
(svn_cl__shelf_*,
svn_cl__wc_copy_mods): New 'static', no longer external.
(svn_cl__cmd_table_shelf3): New command table, with contents moved to here
from svn_cl__cmd_table.
* subversion/svn/shelf-cmd.h
New.
* subversion/svn/svn.c
(svn_cl__cmd_table_main): Renamed from 'svn_cl__cmd_table'. Move
shelf-related entries to svn_cl__cmd_table_shelf3 in shelf-cmd.c.
(svn_cl__cmd_table): Change to a pointer.
(add_commands): New.
(sub_main): Call add_commands(). Rewrite a check because the shelving
command functions are no longer externally visible.