diff options
Diffstat (limited to 'subversion/libsvn_client/relocate.c')
-rw-r--r-- | subversion/libsvn_client/relocate.c | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/subversion/libsvn_client/relocate.c b/subversion/libsvn_client/relocate.c index 8ff5e03..ed8d09c 100644 --- a/subversion/libsvn_client/relocate.c +++ b/subversion/libsvn_client/relocate.c @@ -100,13 +100,13 @@ validator_func(void *baton, if (! url_uuid) { apr_pool_t *sesspool = svn_pool_create(pool); - svn_ra_session_t *ra_session; - SVN_ERR(svn_client__open_ra_session_internal(&ra_session, NULL, url, NULL, - NULL, FALSE, TRUE, - b->ctx, sesspool)); + url_uuid = &APR_ARRAY_PUSH(uuids, struct url_uuid_t); - SVN_ERR(svn_ra_get_uuid2(ra_session, &(url_uuid->uuid), pool)); - SVN_ERR(svn_ra_get_repos_root2(ra_session, &(url_uuid->root), pool)); + SVN_ERR(svn_client_get_repos_root(&url_uuid->root, + &url_uuid->uuid, + url, b->ctx, + pool, sesspool)); + svn_pool_destroy(sesspool); } @@ -139,17 +139,12 @@ relocate_externals(const char *local_abspath, apr_array_header_t *ext_desc, const char *old_parent_repos_root_url, const char *new_parent_repos_root_url, - svn_boolean_t ignore_externals, svn_client_ctx_t *ctx, apr_pool_t *scratch_pool) { - const char *url; apr_pool_t *iterpool; int i; - SVN_ERR(svn_client_url_from_path2(&url, local_abspath, ctx, - scratch_pool, scratch_pool)); - /* Parse an externals definition into an array of external items. */ iterpool = svn_pool_create(scratch_pool); @@ -185,8 +180,8 @@ relocate_externals(const char *local_abspath, ext_item->target_dir, iterpool), iterpool)); - err = svn_client_root_url_from_path(&target_repos_root_url, - target_abspath, ctx, iterpool); + err = svn_client_get_repos_root(&target_repos_root_url, NULL /* uuid */, + target_abspath, ctx, iterpool, iterpool); /* Ignore externals that aren't present in the working copy. * This can happen if an external is deleted from disk accidentally, @@ -203,7 +198,7 @@ relocate_externals(const char *local_abspath, SVN_ERR(svn_client_relocate2(target_abspath, old_parent_repos_root_url, new_parent_repos_root_url, - ignore_externals, ctx, iterpool)); + FALSE, ctx, iterpool)); } svn_pool_destroy(iterpool); @@ -248,16 +243,16 @@ svn_client_relocate2(const char *wcroot_dir, } /* Fetch our current root URL. */ - SVN_ERR(svn_client_root_url_from_path(&old_repos_root_url, local_abspath, - ctx, pool)); + SVN_ERR(svn_client_get_repos_root(&old_repos_root_url, NULL /* uuid */, + local_abspath, ctx, pool, pool)); /* Perform the relocation. */ SVN_ERR(svn_wc_relocate4(ctx->wc_ctx, local_abspath, from_prefix, to_prefix, validator_func, &vb, pool)); /* Now fetch new current root URL. */ - SVN_ERR(svn_client_root_url_from_path(&new_repos_root_url, local_abspath, - ctx, pool)); + SVN_ERR(svn_client_get_repos_root(&new_repos_root_url, NULL /* uuid */, + local_abspath, ctx, pool, pool)); /* Relocate externals, too (if any). */ @@ -285,8 +280,7 @@ svn_client_relocate2(const char *wcroot_dir, iterpool)); if (ext_desc->nelts) SVN_ERR(relocate_externals(this_abspath, ext_desc, old_repos_root_url, - new_repos_root_url, ignore_externals, ctx, - iterpool)); + new_repos_root_url, ctx, iterpool)); } svn_pool_destroy(iterpool); |