From b168ae828108b6f3a7d68ace24b6e8383a081fb5 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 20 Feb 2014 19:26:10 +0000 Subject: Vendor import svn-1.8.8 --- subversion/libsvn_repos/commit.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'subversion/libsvn_repos/commit.c') diff --git a/subversion/libsvn_repos/commit.c b/subversion/libsvn_repos/commit.c index c4606ab..77fe846 100644 --- a/subversion/libsvn_repos/commit.c +++ b/subversion/libsvn_repos/commit.c @@ -761,6 +761,13 @@ close_edit(void *edit_baton, if (SVN_IS_VALID_REVNUM(new_revision)) { + /* The actual commit succeeded, i.e. the transaction does no longer + exist and we can't use txn_root for conflict resolution etc. + + Since close_edit is supposed to release resources, do it now. */ + if (eb->txn_root) + svn_fs_close_root(eb->txn_root); + if (err) { /* If the error was in post-commit, then the commit itself @@ -821,6 +828,10 @@ abort_edit(void *edit_baton, eb->txn_aborted = TRUE; + /* Since abort_edit is supposed to release resources, do it now. */ + if (eb->txn_root) + svn_fs_close_root(eb->txn_root); + return svn_error_trace(svn_fs_abort_txn(eb->txn, pool)); } -- cgit v1.1