Index: subversion/libsvn_ra_serf/commit.c =================================================================== --- subversion/libsvn_ra_serf/commit.c (revision 904436) +++ subversion/libsvn_ra_serf/commit.c (working copy) @@ -91,6 +91,7 @@ checkout_context_t *baseline; /* checkout for the baseline */ const char *checked_in_url; /* checked-in root to base CHECKOUTs from */ const char *baseline_url; /* root baseline collection */ + const char *vcc_url; /* vcc url */ } commit_context_t; @@ -254,6 +255,7 @@ svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:href"); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:activity-set"); + svn_ra_serf__add_tag_buckets(body_bkt, "D:apply-to-version", NULL, alloc); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:checkout"); return body_bkt; @@ -393,7 +395,7 @@ */ if (!dir->parent_dir && !dir->commit->baseline) { - checkout_ctx->checkout_url = dir->commit->baseline_url; + checkout_ctx->checkout_url = dir->commit->vcc_url; dir->commit->baseline = checkout_ctx; } else @@ -410,6 +412,7 @@ handler->response_baton = checkout_ctx; handler->method = "CHECKOUT"; + printf("checkout_ctx->checkout_url=%s\n", checkout_ctx->checkout_url); handler->path = checkout_ctx->checkout_url; svn_ra_serf__request_create(handler); @@ -1080,7 +1083,6 @@ svn_ra_serf__handler_t *handler; proppatch_context_t *proppatch_ctx; dir_context_t *dir; - apr_hash_t *props; apr_hash_index_t *hi; const char *proppatch_target; @@ -1150,9 +1152,7 @@ { svn_ra_serf__options_context_t *opt_ctx; svn_ra_serf__simple_request_context_t *mkact_ctx; - svn_ra_serf__propfind_context_t *propfind_ctx; const char *activity_str; - const char *vcc_url; SVN_ERR(svn_ra_serf__create_options_req(&opt_ctx, ctx->session, ctx->session->conns[0], @@ -1202,31 +1202,10 @@ } /* Now go fetch our VCC and baseline so we can do a CHECKOUT. */ - SVN_ERR(svn_ra_serf__discover_vcc(&vcc_url, ctx->session, + SVN_ERR(svn_ra_serf__discover_vcc(&(ctx->vcc_url), ctx->session, ctx->conn, ctx->pool)); - props = apr_hash_make(ctx->pool); - propfind_ctx = NULL; - SVN_ERR(svn_ra_serf__deliver_props(&propfind_ctx, props, ctx->session, - ctx->conn, vcc_url, - SVN_INVALID_REVNUM, "0", - checked_in_props, FALSE, - NULL, ctx->pool)); - SVN_ERR(svn_ra_serf__wait_for_props(propfind_ctx, ctx->session, - ctx->pool)); - - ctx->baseline_url = svn_ra_serf__get_ver_prop(props, vcc_url, - SVN_INVALID_REVNUM, - "DAV:", "checked-in"); - - if (!ctx->baseline_url) - { - return svn_error_create(SVN_ERR_RA_DAV_OPTIONS_REQ_FAILED, NULL, - _("The OPTIONS response did not include the " - "requested checked-in value")); - } - /* Build our directory baton. */ dir = apr_pcalloc(dir_pool, sizeof(*dir)); dir->pool = dir_pool;