Subversion
|
Functions | |
svn_error_t * | svn_client_move7 (const apr_array_header_t *src_paths, const char *dst_path, svn_boolean_t move_as_child, svn_boolean_t make_parents, svn_boolean_t allow_mixed_revisions, svn_boolean_t metadata_only, const apr_hash_t *revprop_table, svn_commit_callback2_t commit_callback, void *commit_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Move src_paths to dst_path. More... | |
svn_error_t * | svn_client_move6 (const apr_array_header_t *src_paths, const char *dst_path, svn_boolean_t move_as_child, svn_boolean_t make_parents, const apr_hash_t *revprop_table, svn_commit_callback2_t commit_callback, void *commit_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_move7(), but with allow_mixed_revisions always set to TRUE and metadata_only always to FALSE . More... | |
svn_error_t * | svn_client_move5 (svn_commit_info_t **commit_info_p, const apr_array_header_t *src_paths, const char *dst_path, svn_boolean_t force, svn_boolean_t move_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_move6(), but returns the commit info in *commit_info_p rather than through a callback function. More... | |
svn_error_t * | svn_client_move4 (svn_commit_info_t **commit_info_p, const char *src_path, const char *dst_path, svn_boolean_t force, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_move5(), with only one src_path, move_as_child set to FALSE , revprop_table passed as NULL, and make_parents set to FALSE . More... | |
svn_error_t * | svn_client_move3 (svn_commit_info_t **commit_info_p, const char *src_path, const char *dst_path, svn_boolean_t force, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_move4(), with the difference that if dst_path already exists and is a directory, move the item into that directory, keeping its name (the last component of src_path). More... | |
svn_error_t * | svn_client_move2 (svn_client_commit_info_t **commit_info_p, const char *src_path, const char *dst_path, svn_boolean_t force, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_move3(), but uses svn_client_commit_info_t for commit_info_p. More... | |
svn_error_t * | svn_client_move (svn_client_commit_info_t **commit_info_p, const char *src_path, const svn_opt_revision_t *src_revision, const char *dst_path, svn_boolean_t force, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_move2(), but an extra argument src_revision must be passed. More... | |
svn_error_t* svn_client_move | ( | svn_client_commit_info_t ** | commit_info_p, |
const char * | src_path, | ||
const svn_opt_revision_t * | src_revision, | ||
const char * | dst_path, | ||
svn_boolean_t | force, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_move2(), but an extra argument src_revision must be passed.
This has no effect, but must be of kind svn_opt_revision_unspecified or svn_opt_revision_head, otherwise error SVN_ERR_UNSUPPORTED_FEATURE is returned.
svn_error_t* svn_client_move2 | ( | svn_client_commit_info_t ** | commit_info_p, |
const char * | src_path, | ||
const char * | dst_path, | ||
svn_boolean_t | force, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_move3(), but uses svn_client_commit_info_t for commit_info_p.
svn_error_t* svn_client_move3 | ( | svn_commit_info_t ** | commit_info_p, |
const char * | src_path, | ||
const char * | dst_path, | ||
svn_boolean_t | force, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_move4(), with the difference that if dst_path already exists and is a directory, move the item into that directory, keeping its name (the last component of src_path).
svn_error_t* svn_client_move4 | ( | svn_commit_info_t ** | commit_info_p, |
const char * | src_path, | ||
const char * | dst_path, | ||
svn_boolean_t | force, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_move5(), with only one src_path, move_as_child set to FALSE
, revprop_table passed as NULL, and make_parents set to FALSE
.
Note: The behaviour of force changed in 1.5 (r860885 and r861421), when the 'move' semantics were improved to just move the source including any modified and/or unversioned items in it. Before that, force controlled what happened to such items, but now force is ignored.
svn_error_t* svn_client_move5 | ( | svn_commit_info_t ** | commit_info_p, |
const apr_array_header_t * | src_paths, | ||
const char * | dst_path, | ||
svn_boolean_t | force, | ||
svn_boolean_t | move_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_move6(), but returns the commit info in *commit_info_p rather than through a callback function.
A WC-to-WC move will include any modified and/or unversioned children. force is ignored.
svn_error_t* svn_client_move6 | ( | const apr_array_header_t * | src_paths, |
const char * | dst_path, | ||
svn_boolean_t | move_as_child, | ||
svn_boolean_t | make_parents, | ||
const apr_hash_t * | revprop_table, | ||
svn_commit_callback2_t | commit_callback, | ||
void * | commit_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_move7(), but with allow_mixed_revisions always set to TRUE
and metadata_only always to FALSE
.
svn_error_t* svn_client_move7 | ( | const apr_array_header_t * | src_paths, |
const char * | dst_path, | ||
svn_boolean_t | move_as_child, | ||
svn_boolean_t | make_parents, | ||
svn_boolean_t | allow_mixed_revisions, | ||
svn_boolean_t | metadata_only, | ||
const apr_hash_t * | revprop_table, | ||
svn_commit_callback2_t | commit_callback, | ||
void * | commit_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Move src_paths to dst_path.
src_paths is an array of (const char *) paths – either all WC paths or all URLs – of versioned items. If multiple src_paths are given, dst_path must be a directory and src_paths will be moved as children of dst_path.
If src_paths are repository URLs:
If src_paths are working copy paths:
If src_paths has only one item, attempt to move it to dst_path. If move_as_child is TRUE and dst_path already exists, attempt to move the item as a child of dst_path. If move_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 src_paths has multiple items, and move_as_child is TRUE, all src_paths are moved as children of dst_path. If any child of dst_path already exists with the same name any item in src_paths, 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 src_paths has multiple items, and move_as_child is FALSE, fail with SVN_ERR_CLIENT_MULTIPLE_SOURCES_DISALLOWED.
If make_parents is TRUE, create any non-existent parent directories also. Otherwise, the parent of dst_path must already exist.
If allow_mixed_revisions is FALSE
, SVN_ERR_WC_MIXED_REVISIONS will be raised if the move source is a mixed-revision subtree. If allow_mixed_revisions is TRUE, a mixed-revision move source is allowed but the move will degrade to a copy and a delete without local move tracking. This parameter should be set to FALSE except where backwards compatibility to svn_client_move6() is required.
If metadata_only is TRUE
and moving a file in a working copy, everything in the metadata is updated as if the node is moved, but the actual disk move operation is not performed. This feature is useful for clients that want to keep the working copy in sync while the actual working copy is updated by some other task.
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, then for each item moved, call ctx->notify_func2 with the ctx->notify_baton2 twice, once to indicate the deletion of the moved thing, and once to indicate the addition of the new location of the thing.
If commit_callback is non-NULL, then for each successful commit, call commit_callback with commit_baton and a svn_commit_info_t for the commit.