You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/10/20 21:21:08 UTC
svn commit: r1187000 - /subversion/trunk/subversion/libsvn_delta/compat.c
Author: hwright
Date: Thu Oct 20 19:21:08 2011
New Revision: 1187000
URL: http://svn.apache.org/viewvc?rev=1187000&view=rev
Log:
Ev2 shims: actually open the edit root, and optionally abort if there is a
problem with the delta editor drive.
With this change, the test suite actually runs! (Only 1168 failures!)
* subversion/libsvn_delta/compat.c
(complete_cb): Open the edit root, and trap and process errors.
Modified:
subversion/trunk/subversion/libsvn_delta/compat.c
Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1187000&r1=1186999&r2=1187000&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Oct 20 19:21:08 2011
@@ -933,12 +933,19 @@ complete_cb(void *baton,
apr_pool_t *scratch_pool)
{
struct editor_baton *eb = baton;
+ svn_error_t *err;
+
+ SVN_ERR(eb->deditor->open_root(eb->dedit_baton, SVN_INVALID_REVNUM,
+ eb->edit_pool, &eb->root.baton));
/* Drive the tree we've created. */
- SVN_ERR(drive(&eb->root, eb->deditor, scratch_pool));
+ err = drive(&eb->root, eb->deditor, scratch_pool);
+ if (!err)
+ err = eb->deditor->close_edit(eb->dedit_baton, scratch_pool);
+ if (err)
+ svn_error_clear(eb->deditor->abort_edit(eb->dedit_baton, scratch_pool));
- return svn_error_trace(eb->deditor->close_edit(eb->dedit_baton,
- scratch_pool));
+ return svn_error_trace(err);
}
/* This implements svn_editor_cb_abort_t */