pub unsafe extern "C" fn svn_client_import5(
path: *const c_char,
url: *const c_char,
depth: svn_depth_t,
no_ignore: svn_boolean_t,
no_autoprops: svn_boolean_t,
ignore_unknown_node_types: svn_boolean_t,
revprop_table: *const apr_hash_t,
filter_callback: svn_client_import_filter_func_t,
filter_baton: *mut c_void,
commit_callback: svn_commit_callback2_t,
commit_baton: *mut c_void,
ctx: *mut svn_client_ctx_t,
scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description
Import file or directory @a path into repository directory @a url at head, authenticating with the authentication baton cached in @a ctx, and using @a ctx->log_msg_func3/@a ctx->log_msg_baton3 to get a log message for the (implied) commit. If some components of @a url do not exist then create parent directories as necessary.
This function reads an unversioned tree from disk and skips any “.svn” directories. Even if a file or directory being imported is part of an existing WC, this function sees it as unversioned and does not notice any existing Subversion properties in it.
If @a path is a directory, the contents of that directory are imported directly into the directory identified by @a url. Note that the directory @a path itself is not imported – that is, the basename of @a path is not part of the import.
If @a path is a file, then the dirname of @a url is the directory receiving the import. The basename of @a url is the filename in the repository. In this case if @a url already exists, return error.
If @a ctx->notify_func2 is non-NULL, then call @a ctx->notify_func2 with @a ctx->notify_baton2 as the import progresses, with any of the following actions: #svn_wc_notify_commit_added, #svn_wc_notify_commit_postfix_txdelta.
Use @a scratch_pool for any temporary allocation.
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. 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 depth is #svn_depth_empty, import just @a path and nothing below it. If #svn_depth_files, import @a path and any file children of @a path. If #svn_depth_immediates, import @a path, any file children, and any immediate subdirectories (but nothing underneath those subdirectories). If #svn_depth_infinity, import @a path and everything under it fully recursively.
If @a no_ignore is @c FALSE, don’t import any file or directory (or recurse into any directory) that is found by recursion (as opposed to being the explicit target @a path) and whose name matches the global-ignores list in @a ctx->config. If @a no_ignore is @c TRUE, do include such files and directories. (Note that svn:ignore properties are not involved, as auto-props cannot set properties on directories and even if the target is part of a WC the import ignores any existing properties.)
If @a no_autoprops is TRUE, don’t set any autoprops on imported files. If @a no_autoprops is FALSE then all imported files have autprops set as per the auto-props list in @a ctx->config and the value of any @c SVN_PROP_INHERITABLE_AUTO_PROPS properties inherited by and explicitly set on @a url if @a url is already under versioned control, or the nearest parents of @a path which are already under version control if not.
If @a ignore_unknown_node_types is @c TRUE, ignore files of which the node type is unknown, such as device files and pipes.
If @a filter_callback is non-NULL, call it for each node that isn’t ignored for other reasons with @a filter_baton, to allow third party to ignore specific nodes during importing.
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.8.