/* Implements svn_ra_serf__request_body_delegate_t */ static svn_error_t* create_merge_body(serf_bucket_t **bkt, void *baton, serf_bucket_alloc_t *alloc, apr_pool_t *pool /* request pool */, apr_pool_t *scratch_pool) { merge_context_t *ctx = baton; serf_bucket_t *body_bkt; body_bkt = serf_bucket_aggregate_create(alloc); svn_ra_serf__add_xml_header_buckets(body_bkt, alloc); svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:merge", "xmlns:D", "DAV:", SVN_VA_NULL); svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:source", SVN_VA_NULL); svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:href", SVN_VA_NULL); svn_ra_serf__add_cdata_len_buckets(body_bkt, alloc, ctx->merge_resource_url, strlen(ctx->merge_resource_url)); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:href"); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:source"); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:no-auto-merge", SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:no-checkout", SVN_VA_NULL); svn_ra_serf__add_open_tag_buckets(body_bkt, alloc, "D:prop", SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:checked-in", SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:" SVN_DAV__VERSION_NAME, SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:resourcetype", SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:" SVN_DAV__CREATIONDATE, SVN_VA_NULL); svn_ra_serf__add_empty_tag_buckets(body_bkt, alloc, "D:creator-displayname", SVN_VA_NULL); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:prop"); svn_ra_serf__merge_lock_token_list(ctx->lock_tokens, NULL, body_bkt, alloc, pool); svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:merge"); *bkt = body_bkt; return SVN_NO_ERROR; }
static svn_error_t * create_options_body(serf_bucket_t **body_bkt, void *baton, serf_bucket_alloc_t *alloc, apr_pool_t *pool) { serf_bucket_t *body; body = serf_bucket_aggregate_create(alloc); svn_ra_serf__add_xml_header_buckets(body, alloc); svn_ra_serf__add_open_tag_buckets(body, alloc, "D:options", "xmlns:D", "DAV:", NULL); svn_ra_serf__add_tag_buckets(body, "D:activity-collection-set", NULL, alloc); svn_ra_serf__add_close_tag_buckets(body, alloc, "D:options"); *body_bkt = body; return SVN_NO_ERROR; }