* subversion/libsvn_client/commit.c (import_file): trade our notification function/baton arguments for a context argument, and call the notification function in the context when we need it. (import_dir): ditto, plus update calls to import_dir and import_file. (import): ditto. (svn_client_import): remove notification function/baton arguments, update call to import. (svn_client_commit): remove notification function/baton arguments, update call to svn_client__do_commit.
* subversion/libsvn_client/commit_util.c (do_item_commit): remove notification function/baton args and pass a context instead. use notification function/baton in the context when needed. (svn_client__do_commit): ditto.
* subversion/libsvn_client/copy.c (wc_to_wc_copy): take a context instead of a notification callback/baton. use the notification function/baton in the context when needed. (repos_to_repos_copy): take a context instead of a notification callback and baton, pass context to svn_client__do_commit. (wc_to_repos_copy): remove notification function/baton and use the ones in the context instead. (repos_to_wc_copy): ditto. (setup_copy): remove notification function/baton, update calls to functions in this file that changed. (svn_client_copy): remove notification function/baton args, update call to setup_copy. (svn_client_move): ditto.
* subversion/libsvn_client/delete.c (svn_client_delete): remove notification callback/baton args and use the ones in the context instead.
* subversion/libsvn_client/diff.c (merge_file_added): update call to svn_client_copy (and pass in ctx where we were passing NULL). (merge_dir_added): ditto. (merge_file_deleted): update call to svn_client_delete (and pass in ctx where we were passing NULL). (merge_dir_deleted): ditto. (do_merge): remove notification callback/baton args and use the ones in ctx instead. (do_single_file_merge): ditto (except ctx is inside merge_b). (svn_client_merge): remove notification callback/baton args and update calls to do_single_file_merge and do_merge.
* subversion/libsvn_client/externals.c (handle_external_item_change_baton): remove notification callback and baton member variables. (handle_external_item_change): use notification func/baton in ib's context, and add a check to see if it's null before we call it. update calls to svn_client_checkout and svn_client_update. (handle_externals_desc_change_baton): remove notification callback and baton member variables. (handle_externals_desc_change): remove initialization of member variables we removed. (svn_client__handle_externals): remove notification function and baton args, remove initialization of variables that no longer exist.
* subversion/libsvn_client/resolve.c (svn_client_resolve): remove notification function and baton args, replace them with a svn_client_ctx_t argument. use the notification function and baton in the context when we need them.
Fix at least one more bug where we were using a context that was NULL, and hopefully keep that from happening again in the future by providing one that's already allocated to the subcommand functions.
* subversion/clients/cmdline/cl.h (svn_cl__cmd_baton_t): new type, used to hold arguments for the various subcommand functions.
* subversion/clients/cmdline/main.c (main): instead of passing the opt_state right into the subcommand function, make a svn_cl__cmd_baton_t and stick the opt_state and a client context into it, since almost all commands will need the context anyway, and this reduces the number of places we need to remember to create one.
* subversion/clients/cmdline/*-cmd.c get the opt_state and context out of the svn_cl__cmd_baton_t we're passed, rather than assuming the opt_state is the baton and creating our own context.