aboutsummaryrefslogtreecommitdiffstats
path: root/subversion/libsvn_ra_serf/commit.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2015-08-09 04:37:39 +0000
committerPeter Wemm <peter@FreeBSD.org>2015-08-09 04:37:39 +0000
commit58218291fa73a17020ef0447398e9e8a78f9e8c7 (patch)
tree78a13bd0acf7405df6eb6ca94a4e354d124065a6 /subversion/libsvn_ra_serf/commit.c
parent6f0665939667af9f780762878fc35982e8b7d745 (diff)
downloadsrc-58218291fa73a17020ef0447398e9e8a78f9e8c7.tar.gz
src-58218291fa73a17020ef0447398e9e8a78f9e8c7.zip
Vendor import subversion-1.8.14vendor/subversion/subversion-1.8.14
Notes
Notes: svn path=/vendor/subversion/dist/; revision=286501 svn path=/vendor/subversion/subversion-1.8.14/; revision=286502; tag=vendor/subversion/subversion-1.8.14
Diffstat (limited to 'subversion/libsvn_ra_serf/commit.c')
-rw-r--r--subversion/libsvn_ra_serf/commit.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/subversion/libsvn_ra_serf/commit.c b/subversion/libsvn_ra_serf/commit.c
index 1f9f1cc99f06..9d48d41d3525 100644
--- a/subversion/libsvn_ra_serf/commit.c
+++ b/subversion/libsvn_ra_serf/commit.c
@@ -2234,6 +2234,7 @@ close_edit(void *edit_baton,
ctx->activity_url ? ctx->activity_url : ctx->txn_url;
const svn_commit_info_t *commit_info;
int response_code;
+ svn_error_t *err = NULL;
/* MERGE our activity */
SVN_ERR(svn_ra_serf__run_merge(&commit_info, &response_code,
@@ -2252,9 +2253,11 @@ close_edit(void *edit_baton,
response_code);
}
+ ctx->txn_url = NULL; /* If HTTPv2, the txn is now done */
+
/* Inform the WC that we did a commit. */
if (ctx->callback)
- SVN_ERR(ctx->callback(commit_info, ctx->callback_baton, pool));
+ err = ctx->callback(commit_info, ctx->callback_baton, pool);
/* If we're using activities, DELETE our completed activity. */
if (ctx->activity_url)
@@ -2271,11 +2274,17 @@ close_edit(void *edit_baton,
handler->response_handler = svn_ra_serf__expect_empty_body;
handler->response_baton = handler;
- SVN_ERR(svn_ra_serf__context_run_one(handler, pool));
+ ctx->activity_url = NULL; /* Don't try again in abort_edit() on fail */
+
+ SVN_ERR(svn_error_compose_create(
+ err,
+ svn_ra_serf__context_run_one(handler, pool)));
SVN_ERR_ASSERT(handler->sline.code == 204);
}
+ SVN_ERR(err);
+
return SVN_NO_ERROR;
}