Checkout
philip
committed
on 11 Aug 02
Continuing issue #749. Pass the access baton to svn_wc__entry_modify.
This is quite a large change as far as the number of functions affect… Show more
Continuing issue #749.  Pass the access baton to svn_wc__entry_modify.

This is quite a large change as far as the number of functions affected

is concerned, but it's all just to support svn_wc__entry_modify.

* subversion/libsvn_wc/entries.h (svn_wc__entry_modify): Change char*

 path parameter to access baton.

* subversion/libsvn_wc/entries.c (svn_wc__entry_modify): Change char*

 path parameter to access baton.

 

* subversion/include/svn_wc.h

 (svn_wc_adm_access_pool): New function.

 (svn_wc_diff_callbacks_t): Add an access baton parameter to the

 members file_changed, file_added, file_deleted, dir_added, dir_deleted,

 props_changed.

 (svn_wc_copy): Change dst_parent parameter from char* to access baton.

 (svn_wc_get_update_editor, svn_wc_get_switch_editor): Change anchor

 parameter from a char* path to an access baton.

 (svn_wc_add, svn_wc_install_file, svn_wc_merge, svn_wc_merge_prop_diffs,

  svn_wc_revert): Add access baton parameter.

* subversion/include/svn_client.h (svn_client_copy): Add access baton

 parameter and note it is temporary until 838 is fixed.

* subversion/libsvn_client/copy.c

 (svn_client_copy, setup_copy): Add access baton parameter.

 (repos_to_wc_copy, wc_to_wc_copy): Add access baton parameter. Open

 and close access baton if required.

* subversion/clients/cmdline/copy-cmd.c (svn_cl__copy): Pass NULL access

 baton to svn_client_copy.

* subversion/libsvn_client/client.h (svn_client__get_diff_editor): Add

 access baton parameter.

* subversion/libsvn_client/diff.c

 (diff_file_changed, diff_file_added, diff_file_deleted, diff_dir_added,

  diff_dir_deleted, diff_props_changed, merge_file_changed,

  merge_file_deleted, merge_dir_deleted): Add access baton parameter.

 (merge_file_added, merge_dir_added):  Add access baton parameter. Pass

 access baton to svn_client_copy.

 (merge_props_changed): Add access baton parameter. Pass access baton

 to svn_wc_merge_prop_diffs.

 (do_merge): Open and close an access baton. Pass access baton to

 svn_client__get_diff_editor.

 (do_single_file_merge): Open and close an access baton. Pass access

 baton to svn_wc_merge.

 (do_diff): Pass NULL access baton to svn_client__get_diff_editor.

* subversion/libsvn_client/commit.c (svn_client_commit): Remove node

 kind check, add root check and open parent where possible.

* subversion/libsvn_client/add.c

 (add_dir_recursive): Add access baton parameter.

 (svn_client_add): Open/close access baton.

 (svn_client_mkdir): Use svn_client_add to handle access batons.

* subversion/libsvn_client/repos_diff.c

 (struct edit_baton): Add access baton member.

 (delete_entry, add_directory, close_file, close_directory): Pass access

 baton to svn_wc_diff_callbacks_t functions.

* subversion/libsvn_client/revert.c (svn_client_revert): Pass NULL access

 baton to svn_wc_revert.

* subversion/libsvn_client/switch.c (svn_client_switch): Open and close

 access batons. Pass access baton to svn_wc_get_switch_editor and

 svn_wc_install_file.

* subversion/libsvn_client/update.c (svn_client_update): Open an access

 baton and pass to svn_wc_get_update_editor.

* subversion/libsvn_wc/adm_ops.c

 (svn_wc_process_committed): Pass access baton to svn_wc__entry_modify.

 (mark_tree): Change char* path parameter to access baton.  Pass

 access baton to svn_wc__entry_modify.

 (svn_wc_delete): Move access baton open/close to hold access baton for

 longer.  Pass access baton to mark_tree and svn_wc__entry_modify.

 (svn_wc_add): Add an access baton parameter. Pass access baton to

 mark_tree and svn_wc__entry_modify.

 (svn_wc_revert): Add access baton parameter. Open/close access baton

 if required.  Pass access baton to svn_wc__entry_modify.

 (resolve_conflict_on_entry): Open/close access baton. Pass access baton

 to svn_wc__entry_modify.

* subversion/libsvn_wc/update_editor.c

 (struct edit_baton): Add access baton member.

 (maybe_bump_dir_revision): Retrieve access baton and pass to

 svn_wc__entry_modify.

 (prep_directory): Change char* path parameter to dir baton. Remove unused

 force parameter and code.  Open access baton for directory.

 (open_root): Pass dir baton to prep_directory.

 (delete_entry): Retrieve access baton instead of opening/closing it. Pass

 dir baton to prep_directory.

 (change_dir_prop): Retrieve access baton and pass to svn_wc__entry_modify.

 (close_directory): Retrieve access baton instead of opening/closing it.

 (svn_wc_install_file): Add access baton parameter. Don't open/close

 access baton.

 (close_file): Retrieve access baton and pass to svn_wc_install_file.

 (close_edit): Close access baton.

 (make_editor): Change char* anchor parameter to access baton. Store

 access baton in edit baton.

 (svn_wc_get_update_editor, svn_wc_get_switch_editor): Change char*

 anchor parameter to access baton.

 (svn_wc_get_checkout_editor): Pass NULL access baton to make_editor.

* subversion/libsvn_wc/diff.c (file_diff, directory_elements_diff,

 delete_entry, close_directory, close_file): Pass NULL access baton to

 svn_wc_diff_callbacks_t functions.

* subversion/libsvn_wc/log.c

 (log_do_merge): Pass access baton to svn_wc_merge.

 (log_do_modify_entry, log_do_delete_entry, log_do_committed,

  svn_wc__run_log): Pass access baton to svn_wc__entry_modify.

* subversion/libsvn_wc/merge.c (svn_wc_merge): Add an access baton

 parameter and pass to svn_wc__entry_modify.

* subversion/libsvn_wc/copy.c

 (copy_file_administratively, copy_dir_administratively, svn_wc_copy): Add

 an access baton parameter.

* subversion/libsvn_wc/props.c

 (svn_wc_merge_prop_diffs): Add an acesss baton parameter. Remove

 open/close of access baton.

 (svn_wc_prop_set): Open and close an access baton.

* subversion/clients/cmdline/revert-cmd.c (svn_cl__revert): Canonicalize path.

* subversion/clients/cmdline/update-cmd.c (svn_cl__update): Remove

 svn_wc_get_actual_target call. Canonicalize target.

* subversion/libsvn_wc/lock.c

 (create_lock): Don't sleep for one second if the requested wait is zero.

 (svn_wc_adm_access_pool): New function.

* subversion/tests/clients/cmdline/copy_tests.py

 (no_wc_copy_overwrites): Run cleanup after failed copy.

* subversion/tests/clients/cmdline/basic_tests.py

 (basic_corruption): Add 'svn cleanup' after failed 'svn update'.

Show less