pub unsafe extern "C" fn svn_client_delete4(
paths: *const apr_array_header_t,
force: svn_boolean_t,
keep_local: svn_boolean_t,
revprop_table: *const apr_hash_t,
commit_callback: svn_commit_callback2_t,
commit_baton: *mut c_void,
ctx: *mut svn_client_ctx_t,
pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description
Delete items from a repository or working copy.
@a paths is an array of (const char *) paths, either all local WC paths or all URLs.
If the paths in @a paths are URLs, use the authentication baton in @a ctx and @a ctx->log_msg_func3/@a ctx->log_msg_baton3 to immediately attempt to commit a deletion of the URLs from the repository. Every path must belong to the same repository.
Else, schedule the working copy paths in @a paths for removal from the repository. Each path’s parent must be under revision control. This is just a scheduling operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with svn_client_revert2(). If a path is a file it is immediately removed from the working copy. If the path is a directory it will remain in the working copy but all the files, and all unversioned items, it contains will be removed. If @a force is not set then this operation will fail if any path contains locally modified and/or unversioned items. If @a force is set such items will be deleted.
If the paths are working copy paths and @a keep_local is TRUE then the paths will not be removed from the working copy, only scheduled for removal from the repository. Once the scheduled deletion is committed, they will appear as unversioned paths in the working copy.
If non-NULL, @a revprop_table is a hash table holding additional, custom revision properties (const char * names mapped to svn_string_t * values) to be set on the new revision in the event that this is a committing operation. This table cannot contain any standard Subversion properties.
@a ctx->log_msg_func3/@a ctx->log_msg_baton3 are a callback/baton combo that this function can use to query for a commit log message when one is needed.
If @a ctx->notify_func2 is non-NULL, then for each item deleted, call @a ctx->notify_func2 with @a ctx->notify_baton2 and the path of the deleted item.
If @a commit_callback is non-NULL, then for each successful commit, call @a commit_callback with @a commit_baton and a #svn_commit_info_t for the commit.
@since New in 1.7.