svn_client_export5

Function svn_client_export5 

Source
pub unsafe extern "C" fn svn_client_export5(
    result_rev: *mut svn_revnum_t,
    from_path_or_url: *const c_char,
    to_path: *const c_char,
    peg_revision: *const svn_opt_revision_t,
    revision: *const svn_opt_revision_t,
    overwrite: svn_boolean_t,
    ignore_externals: svn_boolean_t,
    ignore_keywords: svn_boolean_t,
    depth: svn_depth_t,
    native_eol: *const c_char,
    ctx: *mut svn_client_ctx_t,
    pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Export the contents of either a subversion repository or a subversion working copy into a ‘clean’ directory (meaning a directory with no administrative directories). If @a result_rev is not @c NULL and the path being exported is a repository URL, set @a *result_rev to the value of the revision actually exported (set it to #SVN_INVALID_REVNUM for local exports).

@a from_path_or_url is either the path the working copy on disk, or a URL to the repository you wish to export.

When exporting a directory, @a to_path is the path to the directory where you wish to create the exported tree; when exporting a file, it is the path of the file that will be created. If @a to_path is the empty path, then the basename of the export file/directory in the repository will be used. If @a to_path represents an existing directory, and a file is being exported, then a file with the that basename will be created under that directory (as with ‘copy’ operations).

@a peg_revision is the revision where the path is first looked up when exporting from a repository. If @a peg_revision->kind is #svn_opt_revision_unspecified, then it defaults to #svn_opt_revision_head for URLs or #svn_opt_revision_working for WC targets.

@a revision is the revision that should be exported.

@a peg_revision and @a revision must not be @c NULL.

@a ctx->notify_func2 and @a ctx->notify_baton2 are the notification functions and baton which are passed to svn_client_checkout() when exporting from a repository.

@a ctx is a context used for authentication in the repository case.

@a overwrite if TRUE will cause the export to overwrite files or directories.

If @a ignore_externals is set, don’t process externals definitions as part of this operation.

If @a ignore_keywords is set, don’t expand keywords as part of this operation.

@a native_eol allows you to override the standard eol marker on the platform you are running on. Can be either “LF”, “CR” or “CRLF” or NULL. If NULL will use the standard eol marker. Any other value will cause the #SVN_ERR_IO_UNKNOWN_EOL error to be returned.

If @a depth is #svn_depth_infinity, export fully recursively. Else if it is #svn_depth_immediates, export @a from_path_or_url and its immediate children (if any), but with subdirectories empty and at #svn_depth_empty. Else if #svn_depth_files, export @a from_path_or_url and its immediate file children (if any) only. If @a depth is #svn_depth_empty, then export exactly @a from_path_or_url and none of its children.

All allocations are done in @a pool.

@since New in 1.7.