/[Apache-SVN]
ViewVC logotype

Revision 1820696


Jump to revision: Previous Next
Author: julianfoad
Date: Tue Jan 9 20:42:27 2018 UTC (6 years, 3 months ago)
Changed paths: 6
Log Message:
On the 'shelve-checkpoint' branch: Let revision specifiers access shelves.

Support a new kind of revision specifier: '-r SHELF_NAME' or
'path@SHELF_NAME', in the CLI and in svn_opt_revision_t.

Initially this is implemented just for revprop commands, to access the
shelf's log message. These work:

$ svn propset -r foo --revprop svn:log 'New log msg.'

$ svn propget -r foo --revprop svn:log 
New log msg.

And 'proplist' and 'propedit' and 'propdel'.

Error handling for the rev spec is not in place; any rev spec other than a
previously known kind is now assumed to be the name of a shelf.

* subversion/include/svn_opt.h
  (svn_opt_revision_kind): Add a new kind, 'svn_opt_revision_shelf'.
  (svn_opt_revision_value_t): Add a new value store, 'shelf'.
  (svn_opt_parse_path): Document new pool lifetime consideration.

* subversion/libsvn_client/client.h
  (svn_client__shelf_revprop_set,
   svn_client__shelf_revprop_get,
   svn_client__shelf_revprop_list): New.

* subversion/libsvn_client/shelve.c
  (shelf_read_log_message): Read the whole log message instead of just the
    first line. Simplify.
  (shelf_write_log_message): Truncate the file, so that shortening the log
    message works properly.
  (svn_client__shelf_revprop_set,
   svn_client__shelf_revprop_get,
   svn_client__shelf_revprop_list): New.
  (svn_client_shelf_set_log_message): Adjust

* subversion/libsvn_client/prop_commands.c
  (svn_client_revprop_set2,
   svn_client_revprop_get, 
   svn_client_revprop_list): Read/write to a shelf if revision says so.

* subversion/libsvn_subr/opt.c
  (parse_one_rev): Allow only a single 'r' prefix on a number, instead of any
    number of 'r's on any rev spec.
  (svn_opt__revision_to_string): Support shelf rev specs.
  (svn_opt_parse_revision_to_range,
   svn_opt_parse_path): If no other kind of rev spec matches, assume it's a
    shelf specifier.

* subversion/svn/props.c
  (svn_cl__revprop_prepare): Support shelf rev-specs.


Changed paths

Path Details
Directorysubversion/branches/shelve-checkpoint/subversion/include/svn_opt.h modified , text changed
Directorysubversion/branches/shelve-checkpoint/subversion/libsvn_client/client.h modified , text changed
Directorysubversion/branches/shelve-checkpoint/subversion/libsvn_client/prop_commands.c modified , text changed
Directorysubversion/branches/shelve-checkpoint/subversion/libsvn_client/shelve.c modified , text changed
Directorysubversion/branches/shelve-checkpoint/subversion/libsvn_subr/opt.c modified , text changed
Directorysubversion/branches/shelve-checkpoint/subversion/svn/props.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26