diff options
author | Peter Wemm <peter@FreeBSD.org> | 2015-08-09 04:37:39 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2015-08-09 04:37:39 +0000 |
commit | 58218291fa73a17020ef0447398e9e8a78f9e8c7 (patch) | |
tree | 78a13bd0acf7405df6eb6ca94a4e354d124065a6 /subversion/libsvn_ra_serf/commit.c | |
parent | 6f0665939667af9f780762878fc35982e8b7d745 (diff) | |
download | src-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.c | 13 |
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; } |