/[Apache-SVN]/subversion/trunk/subversion/svn/shelf-cmd.h
ViewVC logotype

Log of /subversion/trunk/subversion/svn/shelf-cmd.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

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.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.


infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26