Subversion
Functions
Move paths in the working copy or repository.
Client working copy management

Functions

svn_error_tsvn_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)
 Move src_paths to dst_path.
svn_error_tsvn_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.
svn_error_tsvn_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.
svn_error_tsvn_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_tsvn_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_tsvn_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.

Function Documentation

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.

Deprecated:
Provided for backward compatibility with the 1.1 API.
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.

Deprecated:
Provided for backward compatibility with the 1.2 API.
Since:
New in 1.2.
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).

Since:
New in 1.3.
Deprecated:
Provided for backward compatibility with the 1.3 API.
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.

Since:
New in 1.4.
Deprecated:
Provided for backward compatibility with the 1.4 API.
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.

Since:
New in 1.5.
Deprecated:
Provided for backward compatibility with the 1.6 API.
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 
)

Move src_paths to dst_path.

src_paths must be files or directories under version control, or URLs of versioned items in the repository. All src_paths must be of the same type. 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:

  • dst_path must also be a repository URL.
  • The authentication baton in ctx and ctx->log_msg_func/ctx->log_msg_baton are used to commit the move.
  • The move operation will be immediately committed.

If src_paths are working copy paths:

  • dst_path must also be a working copy path.
  • ctx->log_msg_func3 and ctx->log_msg_baton3 are ignored.
  • This is a scheduling operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with svn_client_revert2(). If one of src_paths is a file it is removed from the working copy immediately. If one of src_path is a directory it will remain in the working copy but all the files, and unversioned items, it contains will be removed.

The parent of dst_path must already exist.

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.

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.

### Is this really true? What about svn_wc_notify_commit_replaced()? ###

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.

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