Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/libsvn_client/client.h view on Meta::CPAN
If CHANGELISTS is non-NULL, it is an array of const char *
changelist names used as a restrictive filter
when harvesting committables; that is, don't add a path to
COMMITTABLES unless it's a member of one of those changelists.
If CTX->CANCEL_FUNC is non-null, it will be called with
CTX->CANCEL_BATON while harvesting to determine if the client has
cancelled the operation. */
svn_error_t *
svn_client__harvest_committables(svn_client__committables_t **committables,
apr_hash_t **lock_tokens,
const char *base_dir_abspath,
const apr_array_header_t *targets,
int depth_empty_start,
svn_depth_t depth,
svn_boolean_t just_locked,
const apr_array_header_t *changelists,
svn_client__check_url_kind_t check_url_func,
void *check_url_baton,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/* Recursively crawl each absolute working copy path SRC in COPY_PAIRS,
harvesting commit_items into a COMMITABLES structure as if every entry
at or below the SRC was to be committed as a set of adds (mostly with
history) to a new repository URL (DST in COPY_PAIRS).
If CTX->CANCEL_FUNC is non-null, it will be called with
CTX->CANCEL_BATON while harvesting to determine if the client has
cancelled the operation. */
svn_error_t *
svn_client__get_copy_committables(svn_client__committables_t **committables,
const apr_array_header_t *copy_pairs,
svn_client__check_url_kind_t check_url_func,
void *check_url_baton,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/* A qsort()-compatible sort routine for sorting an array of
svn_client_commit_item_t *'s by their URL member. */
int svn_client__sort_commit_item_urls(const void *a, const void *b);
/* Rewrite the COMMIT_ITEMS array to be sorted by URL. Also, discover
a common *BASE_URL for the items in the array, and rewrite those
items' URLs to be relative to that *BASE_URL.
COMMIT_ITEMS is an array of (svn_client_commit_item3_t *) items.
Afterwards, some of the items in COMMIT_ITEMS may contain data
allocated in POOL. */
svn_error_t *
svn_client__condense_commit_items(const char **base_url,
apr_array_header_t *commit_items,
apr_pool_t *pool);
/* Like svn_ra_stat() on the ra session root, but with a compatibility
hack for pre-1.2 svnserve that don't support this api. */
svn_error_t *
svn_client__ra_stat_compatible(svn_ra_session_t *ra_session,
svn_revnum_t rev,
svn_dirent_t **dirent_p,
apr_uint32_t dirent_fields,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool);
/* Commit the items in the COMMIT_ITEMS array using EDITOR/EDIT_BATON
to describe the committed local mods. Prior to this call,
COMMIT_ITEMS should have been run through (and BASE_URL generated
by) svn_client__condense_commit_items().
COMMIT_ITEMS is an array of (svn_client_commit_item3_t *) items.
CTX->NOTIFY_FUNC/CTX->BATON will be called as the commit progresses, as
a way of describing actions to the application layer (if non NULL).
NOTIFY_PATH_PREFIX will be passed to CTX->notify_func2() as the
common absolute path prefix of the committed paths. It can be NULL.
If SHA1_CHECKSUMS is not NULL, set *SHA1_CHECKSUMS to a hash containing,
for each file transmitted, a mapping from the commit-item's (const
char *) path to the (const svn_checksum_t *) SHA1 checksum of its new text
base.
Use RESULT_POOL for all allocating the resulting hashes and SCRATCH_POOL
for temporary allocations.
*/
svn_error_t *
svn_client__do_commit(const char *base_url,
const apr_array_header_t *commit_items,
const svn_delta_editor_t *editor,
void *edit_baton,
const char *notify_path_prefix,
apr_hash_t **sha1_checksums,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/*** Externals (Modules) ***/
/* Handle changes to the svn:externals property described by EXTERNALS_NEW,
and AMBIENT_DEPTHS. The tree's top level directory
is at TARGET_ABSPATH which has a root URL of REPOS_ROOT_URL.
A write lock should be held.
For each changed value of the property, discover the nature of the
change and behave appropriately -- either check a new "external"
subdir, or call svn_wc_remove_from_revision_control() on an
existing one, or both.
TARGET_ABSPATH is the root of the driving operation and
REQUESTED_DEPTH is the requested depth of the driving operation
(e.g., update, switch, etc). If it is neither svn_depth_infinity
( run in 0.687 second using v1.01-cache-2.11-cpan-39bf76dae61 )