Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_client.h view on Meta::CPAN
const char *URL,
const char *path,
const svn_opt_revision_t *peg_revision,
const svn_opt_revision_t *revision,
svn_depth_t depth,
svn_boolean_t ignore_externals,
svn_boolean_t allow_unver_obstructions,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
/**
* Similar to svn_client_checkout3() but with @a allow_unver_obstructions
* always set to FALSE, and @a depth set according to @a recurse: if
* @a recurse is TRUE, @a depth is #svn_depth_infinity, if @a recurse
* is FALSE, @a depth is #svn_depth_files.
*
* @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_client_checkout2(svn_revnum_t *result_rev,
const char *URL,
const char *path,
const svn_opt_revision_t *peg_revision,
const svn_opt_revision_t *revision,
svn_boolean_t recurse,
svn_boolean_t ignore_externals,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
/**
* Similar to svn_client_checkout2(), but with @a peg_revision
* always set to #svn_opt_revision_unspecified and
* @a ignore_externals always set to FALSE.
*
* @deprecated Provided for backward compatibility with the 1.1 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_client_checkout(svn_revnum_t *result_rev,
const char *URL,
const char *path,
const svn_opt_revision_t *revision,
svn_boolean_t recurse,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
/** @} */
/**
* @defgroup Update Bring a working copy up-to-date with a repository
*
* @{
*
*/
/**
* Update working trees @a paths to @a revision, authenticating with the
* authentication baton cached in @a ctx. @a paths is an array of const
* char * paths to be updated. Unversioned paths that are direct children
* of a versioned path will cause an update that attempts to add that path;
* other unversioned paths are skipped. If @a result_revs is not NULL,
* @a *result_revs will be set to an array of svn_revnum_t with each
* element set to the revision to which @a revision was resolved for the
* corresponding element of @a paths.
*
* @a revision must be of kind #svn_opt_revision_number,
* #svn_opt_revision_head, or #svn_opt_revision_date. If @a
* revision does not meet these requirements, return the error
* #SVN_ERR_CLIENT_BAD_REVISION.
*
* The paths in @a paths can be from multiple working copies from multiple
* repositories, but even if they all come from the same repository there
* is no guarantee that revision represented by #svn_opt_revision_head
* will remain the same as each path is updated.
*
* If @a ignore_externals is set, don't process externals definitions
* as part of this operation.
*
* If @a depth is #svn_depth_infinity, update fully recursively.
* Else if it is #svn_depth_immediates or #svn_depth_files, update
* each target and its file entries, but not its subdirectories. Else
* if #svn_depth_empty, update exactly each target, nonrecursively
* (essentially, update the target's properties).
*
* If @a depth is #svn_depth_unknown, take the working depth from
* @a paths and then behave as described above.
*
* If @a depth_is_sticky is set and @a depth is not
* #svn_depth_unknown, then in addition to updating PATHS, also set
* their sticky ambient depth value to @a depth.
*
* If @a allow_unver_obstructions is TRUE then the update tolerates
* existing unversioned items that obstruct added paths. Only
* obstructions of the same type (file or dir) as the added item are
* tolerated. The text of obstructing files is left as-is, effectively
* treating it as a user modification after the update. Working
* properties of obstructing items are set equal to the base properties.
* If @a allow_unver_obstructions is FALSE then the update will abort
* if there are any unversioned obstructing items.
*
* If @a adds_as_modification is TRUE, a local addition at the same path
* as an incoming addition of the same node kind results in a normal node
* with a possible local modification, instead of a tree conflict.
*
* If @a make_parents is TRUE, create any non-existent parent
* directories also by checking them out at depth=empty.
*
* If @a ctx->notify_func2 is non-NULL, invoke @a ctx->notify_func2 with
* @a ctx->notify_baton2 for each item handled by the update, and also for
* files restored from text-base. If @a ctx->cancel_func is non-NULL, invoke
* it passing @a ctx->cancel_baton at various places during the update.
*
* Use @a pool for any temporary allocation.
*
* @todo Multiple Targets
* - Up for debate: an update on multiple targets is *not* atomic.
* Right now, svn_client_update only takes one path. What's
* debatable is whether this should ever change. On the one hand,
* it's kind of losing to have the client application loop over
* targets and call svn_client_update() on each one; each call to
* update initializes a whole new repository session (network
* overhead, etc.) On the other hand, it's a very simple
* implementation, and allows for the possibility that different
* targets may come from different repositories.
*
* @since New in 1.7.
*/
svn_error_t *
svn_client_update4(apr_array_header_t **result_revs,
const apr_array_header_t *paths,
const svn_opt_revision_t *revision,
svn_depth_t depth,
svn_boolean_t depth_is_sticky,
svn_boolean_t ignore_externals,
src/subversion/subversion/include/svn_client.h view on Meta::CPAN
* @{
*/
/**
* Move @a src_paths to @a dst_path.
*
* @a src_paths is an array of (const char *) paths -- either all WC paths
* or all URLs -- of versioned items. If multiple @a src_paths are given,
* @a dst_path must be a directory and @a src_paths will be moved as
* children of @a dst_path.
*
* If @a src_paths are repository URLs:
*
* - @a dst_path must also be a repository URL.
*
* - The authentication baton in @a ctx and @a ctx->log_msg_func/@a
* ctx->log_msg_baton are used to commit the move.
*
* - The move operation will be immediately committed.
*
* If @a src_paths are working copy paths:
*
* - @a dst_path must also be a working copy path.
*
* - @a ctx->log_msg_func3 and @a 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 @a src_paths is a file it is
* removed from the working copy immediately. If one of @a src_path
* is a directory it will remain in the working copy but all the files,
* and unversioned items, it contains will be removed.
*
* If @a src_paths has only one item, attempt to move it to @a dst_path. If
* @a move_as_child is TRUE and @a dst_path already exists, attempt to move the
* item as a child of @a dst_path. If @a move_as_child is FALSE and
* @a dst_path already exists, fail with #SVN_ERR_ENTRY_EXISTS if @a dst_path
* is a working copy path and #SVN_ERR_FS_ALREADY_EXISTS if @a dst_path is a
* URL.
*
* If @a src_paths has multiple items, and @a move_as_child is TRUE, all
* @a src_paths are moved as children of @a dst_path. If any child of
* @a dst_path already exists with the same name any item in @a src_paths,
* fail with #SVN_ERR_ENTRY_EXISTS if @a dst_path is a working copy path and
* #SVN_ERR_FS_ALREADY_EXISTS if @a dst_path is a URL.
*
* If @a src_paths has multiple items, and @a move_as_child is FALSE, fail
* with #SVN_ERR_CLIENT_MULTIPLE_SOURCES_DISALLOWED.
*
* If @a make_parents is TRUE, create any non-existent parent directories
* also. Otherwise, the parent of @a dst_path must already exist.
*
* If @a allow_mixed_revisions is @c FALSE, #SVN_ERR_WC_MIXED_REVISIONS
* will be raised if the move source is a mixed-revision subtree.
* If @a 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 @a metadata_only is @c 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, @a revprop_table is a hash table holding additional,
* custom revision properties (<tt>const char *</tt> names mapped to
* <tt>svn_string_t *</tt> 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.
*
* @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 ctx->notify_func2 is non-NULL, then for each item moved, call
* @a ctx->notify_func2 with the @a 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 @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.
*/
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);
/**
* Similar to svn_client_move7(), but with @a allow_mixed_revisions always
* set to @c TRUE and @a metadata_only always to @c FALSE.
*
* @since New in 1.7.
* @deprecated Provided for backward compatibility with the 1.7 API.
*/
SVN_DEPRECATED
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_move6(), but returns the commit info in
* @a *commit_info_p rather than through a callback function.
*
* A WC-to-WC move will include any modified and/or unversioned children.
( run in 0.882 second using v1.01-cache-2.11-cpan-5623c5533a1 )