Subversion 1.6.16
Data Structures | Typedefs | Functions

Copy paths in the working copy and repository.

Client working copy management

Data Structures

struct  svn_client_copy_source_t
 A structure which describes the source of a copy operation--its path, revision, and peg revision. More...

Typedefs

typedef struct
svn_client_copy_source_t 
svn_client_copy_source_t
 A structure which describes the source of a copy operation--its path, revision, and peg revision.

Functions

svn_error_tsvn_client_copy5 (svn_commit_info_t **commit_info_p, apr_array_header_t *sources, const char *dst_path, svn_boolean_t copy_as_child, svn_boolean_t make_parents, svn_boolean_t ignore_externals, const apr_hash_t *revprop_table, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Copy each src in sources to dst_path.
svn_error_tsvn_client_copy4 (svn_commit_info_t **commit_info_p, apr_array_header_t *sources, const char *dst_path, svn_boolean_t copy_as_child, svn_boolean_t make_parents, const apr_hash_t *revprop_table, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Similar to svn_client_copy5(), with ignore_externals set to FALSE.
svn_error_tsvn_client_copy3 (svn_commit_info_t **commit_info_p, const char *src_path, const svn_opt_revision_t *src_revision, const char *dst_path, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Similar to svn_client_copy4(), with only one src_path, copy_as_child set to FALSE, revprop_table passed as NULL, and make_parents set to FALSE.
svn_error_tsvn_client_copy2 (svn_commit_info_t **commit_info_p, const char *src_path, const svn_opt_revision_t *src_revision, const char *dst_path, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Similar to svn_client_copy3(), with the difference that if dst_path already exists and is a directory, copy the item into that directory, keeping its name (the last component of src_path).
svn_error_tsvn_client_copy (svn_client_commit_info_t **commit_info_p, const char *src_path, const svn_opt_revision_t *src_revision, const char *dst_path, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Similar to svn_client_copy2(), but uses svn_client_commit_info_t for commit_info_p.

Typedef Documentation

A structure which describes the source of a copy operation--its path, revision, and peg revision.

Since:
New in 1.5.

Function Documentation

svn_error_t* svn_client_copy ( svn_client_commit_info_t **  commit_info_p,
const char *  src_path,
const svn_opt_revision_t src_revision,
const char *  dst_path,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Similar to svn_client_copy2(), but uses svn_client_commit_info_t for commit_info_p.

Deprecated:
Provided for backward compatibility with the 1.2 API.
svn_error_t* svn_client_copy2 ( svn_commit_info_t **  commit_info_p,
const char *  src_path,
const svn_opt_revision_t src_revision,
const char *  dst_path,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Similar to svn_client_copy3(), with the difference that if dst_path already exists and is a directory, copy the item into that directory, keeping its name (the last component of src_path).

Since:
New in 1.3.
Deprecated:
Provided for backward compatibility with the 1.3 API.
svn_error_t* svn_client_copy3 ( svn_commit_info_t **  commit_info_p,
const char *  src_path,
const svn_opt_revision_t src_revision,
const char *  dst_path,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Similar to svn_client_copy4(), with only one src_path, copy_as_child set to FALSE, revprop_table passed as NULL, and make_parents set to FALSE.

Also, use src_revision as both the operational and peg revision.

Since:
New in 1.4.
Deprecated:
Provided for backward compatibility with the 1.4 API.
svn_error_t* svn_client_copy4 ( svn_commit_info_t **  commit_info_p,
apr_array_header_t *  sources,
const char *  dst_path,
svn_boolean_t  copy_as_child,
svn_boolean_t  make_parents,
const apr_hash_t *  revprop_table,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Similar to svn_client_copy5(), with ignore_externals set to FALSE.

Since:
New in 1.5.
Deprecated:
Provided for backward compatibility with the 1.5 API.
svn_error_t* svn_client_copy5 ( svn_commit_info_t **  commit_info_p,
apr_array_header_t *  sources,
const char *  dst_path,
svn_boolean_t  copy_as_child,
svn_boolean_t  make_parents,
svn_boolean_t  ignore_externals,
const apr_hash_t *  revprop_table,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Copy each src in sources to dst_path.

If multiple sources are given, dst_path must be a directory, and sources will be copied as children of dst_path.

sources must be an array of elements of type svn_client_copy_source_t *.

Each src in sources must be files or directories under version control, or URLs of a versioned item in the repository. If sources has multiple items, the src members must be all repository URLs or all working copy paths.

The parent of dst_path must already exist.

If sources has only one item, attempt to copy it to dst_path. If copy_as_child is TRUE and dst_path already exists, attempt to copy the item as a child of dst_path. If copy_as_child is FALSE and dst_path already exists, fail with SVN_ERR_ENTRY_EXISTS if dst_path is a working copy path and SVN_ERR_FS_ALREADY_EXISTS if dst_path is a URL.

If sources has multiple items, and copy_as_child is TRUE, all sources are copied as children of dst_path. If any child of dst_path already exists with the same name any item in sources, fail with SVN_ERR_ENTRY_EXISTS if dst_path is a working copy path and SVN_ERR_FS_ALREADY_EXISTS if dst_path is a URL.

If sources has multiple items, and copy_as_child is FALSE, fail with SVN_ERR_CLIENT_MULTIPLE_SOURCES_DISALLOWED.

If dst_path is a URL, use the authentication baton in ctx and ctx->log_msg_func3/ctx->log_msg_baton3 to immediately attempt to commit the copy action in the repository. If the commit succeeds, allocate (in pool) and populate *commit_info_p. If dst_path is not a URL, and the copy succeeds, set *commit_info_p to NULL.

If dst_path is not a URL, then this is just a variant of svn_client_add(), where the sources are scheduled for addition as copies. No changes will happen to the repository until a commit occurs. This scheduling can be removed with svn_client_revert2().

If make_parents is TRUE, create any non-existent parent directories also.

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

If non-NULL, 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.

ctx->log_msg_func3/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 ctx->notify_func2 is non-NULL, invoke it with ctx->notify_baton2 for each item added at the new location, passing the new, relative path of the added item.

Since:
New in 1.6.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines