diff options
Diffstat (limited to 'subversion/libsvn_repos/commit.c')
| -rw-r--r-- | subversion/libsvn_repos/commit.c | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/subversion/libsvn_repos/commit.c b/subversion/libsvn_repos/commit.c index c4606ab4b7bd..77fe84647173 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));  } | 
