/[Apache-SVN]
ViewVC logotype

Revision 1464763


Jump to revision: Previous Next
Author: stefan2
Date: Thu Apr 4 21:03:54 2013 UTC (10 years, 11 months ago)
Changed paths: 5
Log Message:
A late minute API change:  instead of introducing the "templated"
svn_ra_svn_write_templated_cmd, introduce an explicit API function
with fully typed parameter lists for each svn:// command.

Please note that only the way to express the API changed while the
API itself is still the same.  It's basically much safer to use
and extend now.

* subversion/include/svn_ra_svn.h
  (svn_ra_svn_cmd_t,
   svn_ra_svn_write_templated_cmd): drop that API from 1.8
  (svn_ra_svn_write_cmd): update deprecation statement
  (svn_ra_svn_write_cmd_target_rev,
   svn_ra_svn_write_cmd_open_root,
   svn_ra_svn_write_cmd_delete_entry,
   svn_ra_svn_write_cmd_add_dir,
   svn_ra_svn_write_cmd_open_dir,
   svn_ra_svn_write_cmd_change_dir_prop,
   svn_ra_svn_write_cmd_close_dir,
   svn_ra_svn_write_cmd_absent_dir,
   svn_ra_svn_write_cmd_add_file,
   svn_ra_svn_write_cmd_open_file,
   svn_ra_svn_write_cmd_change_file_prop,
   svn_ra_svn_write_cmd_close_file,
   svn_ra_svn_write_cmd_absent_file,
   svn_ra_svn_write_cmd_apply_textdelta,
   svn_ra_svn_write_cmd_textdelta_chunk,
   svn_ra_svn_write_cmd_textdelta_end,
   svn_ra_svn_write_cmd_close_edit,
   svn_ra_svn_write_cmd_abort_edit,
   svn_ra_svn_write_cmd_set_path,
   svn_ra_svn_write_cmd_delete_path,
   svn_ra_svn_write_cmd_link_path,
   svn_ra_svn_write_cmd_finish_report,
   svn_ra_svn_write_cmd_abort_report,
   svn_ra_svn_write_cmd_reparent,
   svn_ra_svn_write_cmd_get_latest_rev,
   svn_ra_svn_write_cmd_get_dated_rev,
   svn_ra_svn_write_cmd_change_rev_prop2,
   svn_ra_svn_write_cmd_change_rev_prop,
   svn_ra_svn_write_cmd_rev_proplist,
   svn_ra_svn_write_cmd_rev_prop,
   svn_ra_svn_write_cmd_get_file,
   svn_ra_svn_write_cmd_update,
   svn_ra_svn_write_cmd_switch,
   svn_ra_svn_write_cmd_status,
   svn_ra_svn_write_cmd_diff,
   svn_ra_svn_write_cmd_check_path,
   svn_ra_svn_write_cmd_stat,
   svn_ra_svn_write_cmd_get_file_revs,
   svn_ra_svn_write_cmd_lock,
   svn_ra_svn_write_cmd_unlock,
   svn_ra_svn_write_cmd_get_lock,
   svn_ra_svn_write_cmd_get_locks,
   svn_ra_svn_write_cmd_replay,
   svn_ra_svn_write_cmd_replay_range,
   svn_ra_svn_write_cmd_get_deleted_rev,
   svn_ra_svn_write_cmd_get_iprops,
   svn_ra_svn_write_cmd_finish_replay): provide one function for each
                                        svn:// protocol command

* subversion/libsvn_ra_svn/marshal.c
  (vwrite_tuple_start_list,
   vwrite_tuple_end_list): drop
  (write_tuple_cstring,
   write_tuple_cstring_opt,
   write_tuple_string,
   write_tuple_string_opt,
   write_tuple_start_list,
   write_tuple_end_list,
   write_tuple_word,
   write_tuple_word_opt,
   write_tuple_revision,
   write_tuple_revision_opt,
   write_tuple_number,
   write_tuple_boolean,
   write_tuple_depth): duplicates of the vwrite_* functions but with typed
                       parameters instead of a va_list
  (write_cmd_add_node,
   write_cmd_open_node,
   write_cmd_change_node_prop,
   write_cmd_absent_node): renamed from vwrite* but with proper parameter lists
  (vwrite_cmd_open_root,
   vwrite_cmd_delete_entry,
   vwrite_cmd_add_dir,
   vwrite_cmd_open_dir,
   vwrite_cmd_change_dir_prop,
   vwrite_cmd_absent_dir,
   vwrite_cmd_add_file,
   vwrite_cmd_open_file,
   vwrite_cmd_change_file_prop,
   vwrite_cmd_close_file,
   vwrite_cmd_absent_file,
   vwrite_cmd_textdelta_chunk,
   vwrite_cmd_apply_textdelta,
   vwrite_cmd_no_op,
   vwrite_cmd_set_path,
   vwrite_cmd_link_path,
   vwrite_cmd_change_rev_prop2,
   vwrite_cmd_change_rev_prop,
   vwrite_cmd_rev_prop,
   vwrite_cmd_get_file,
   vwrite_cmd_update,
   vwrite_cmd_switch,
   vwrite_cmd_status,
   vwrite_cmd_diff,
   vwrite_cmd_check_path,
   vwrite_cmd_stat,
   vwrite_cmd_get_file_revs,
   vwrite_cmd_lock,
   vwrite_cmd_unlock,
   vwrite_cmd_get_locks,
   vwrite_cmd_replay,
   vwrite_cmd_replay_range,
   vwrite_cmd_get_deleted_rev,
   vwrite_cmd_get_iprops): adapt and move to new command implementations
  (vwrite_tuple): update
  (vwrite_tuple_func,
   cmd_template_t,
   cmd_templates,
   svn_ra_svn_write_templated_cmd): drop them
  (svn_ra_svn_write_cmd_target_rev,
   svn_ra_svn_write_cmd_open_root,
   svn_ra_svn_write_cmd_delete_entry,
   svn_ra_svn_write_cmd_add_dir,
   svn_ra_svn_write_cmd_open_dir,
   svn_ra_svn_write_cmd_change_dir_prop,
   svn_ra_svn_write_cmd_close_dir,
   svn_ra_svn_write_cmd_absent_dir,
   svn_ra_svn_write_cmd_add_file,
   svn_ra_svn_write_cmd_open_file,
   svn_ra_svn_write_cmd_change_file_prop,
   svn_ra_svn_write_cmd_close_file,
   svn_ra_svn_write_cmd_absent_file,
   svn_ra_svn_write_cmd_apply_textdelta,
   svn_ra_svn_write_cmd_textdelta_chunk,
   svn_ra_svn_write_cmd_textdelta_end,
   svn_ra_svn_write_cmd_close_edit,
   svn_ra_svn_write_cmd_abort_edit,
   svn_ra_svn_write_cmd_set_path,
   svn_ra_svn_write_cmd_delete_path,
   svn_ra_svn_write_cmd_link_path,
   svn_ra_svn_write_cmd_finish_report,
   svn_ra_svn_write_cmd_abort_report,
   svn_ra_svn_write_cmd_reparent,
   svn_ra_svn_write_cmd_get_latest_rev,
   svn_ra_svn_write_cmd_get_dated_rev,
   svn_ra_svn_write_cmd_change_rev_prop2,
   svn_ra_svn_write_cmd_change_rev_prop,
   svn_ra_svn_write_cmd_rev_proplist,
   svn_ra_svn_write_cmd_rev_prop,
   svn_ra_svn_write_cmd_get_file,
   svn_ra_svn_write_cmd_update,
   svn_ra_svn_write_cmd_switch,
   svn_ra_svn_write_cmd_status,
   svn_ra_svn_write_cmd_diff,
   svn_ra_svn_write_cmd_check_path,
   svn_ra_svn_write_cmd_stat,
   svn_ra_svn_write_cmd_get_file_revs,
   svn_ra_svn_write_cmd_lock,
   svn_ra_svn_write_cmd_unlock,
   svn_ra_svn_write_cmd_get_lock,
   svn_ra_svn_write_cmd_get_locks,
   svn_ra_svn_write_cmd_replay,
   svn_ra_svn_write_cmd_replay_range,
   svn_ra_svn_write_cmd_get_deleted_rev,
   svn_ra_svn_write_cmd_get_iprops,
   svn_ra_svn_write_cmd_finish_replay): implement using write_* functions

* subversion/libsvn_ra_svn/client.c
  (ra_svn_set_path,
   ra_svn_delete_path,
   ra_svn_link_path,
   ra_svn_abort_report,
   ra_svn_reparent,
   ra_svn_rev_proplist,
   ra_svn_rev_prop,
   ra_svn_get_file,
   ra_svn_update,
   ra_svn_switch,
   ra_svn_status,
   ra_svn_diff,
   ra_svn_check_path,
   ra_svn_stat,
   ra_svn_lock_compat,
   ra_svn_get_lock,
   ra_svn_get_locks,
   ra_svn_replay,
   ra_svn_replay_range,
   ra_svn_get_deleted_rev,
   ra_svn_get_inherited_props): update to use the new explicit API

* subversion/libsvn_ra_svn/editorp.c
  (check_for_error_internal,
   ra_svn_target_rev,
   ra_svn_open_root,
   ra_svn_delete_entry,
   ra_svn_add_dir,
   ra_svn_open_dir,
   ra_svn_close_dir,
   ra_svn_absent_dir,
   ra_svn_add_file,
   ra_svn_open_file,
   ra_svn_close_file,
   ra_svn_absent_file,
   ra_svn_close_edit, 
   ra_svn_abort_edit): update to use the new explicit API 

* subversion/svnserve/serve.c
  (replay_one_revision): update to use the new explicit API

Changed paths

Path Details
Directorysubversion/trunk/subversion/include/svn_ra_svn.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_ra_svn/client.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_ra_svn/editorp.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_ra_svn/marshal.c modified , text changed
Directorysubversion/trunk/subversion/svnserve/serve.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26