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 2012/06/15 13:59:49 UTC
svn commit: r1350590 - /subversion/trunk/subversion/libsvn_repos/replay.c
Author: hwright
Date: Fri Jun 15 11:59:48 2012
New Revision: 1350590
URL: http://svn.apache.org/viewvc?rev=1350590&view=rev
Log:
* subversion/libsvn_repos/replay.c
(svn_repos__replay_ev2): Abort the editor on errors.
Modified:
subversion/trunk/subversion/libsvn_repos/replay.c
Modified: subversion/trunk/subversion/libsvn_repos/replay.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/replay.c?rev=1350590&r1=1350589&r2=1350590&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/replay.c (original)
+++ subversion/trunk/subversion/libsvn_repos/replay.c Fri Jun 15 11:59:48 2012
@@ -1451,6 +1451,7 @@ svn_repos__replay_ev2(svn_fs_root_t *roo
apr_array_header_t *paths;
apr_array_header_t *copies;
apr_pool_t *iterpool;
+ svn_error_t *err = SVN_NO_ERROR;
int i;
SVN_ERR_ASSERT(!svn_dirent_is_absolute(base_repos_relpath));
@@ -1533,15 +1534,18 @@ svn_repos__replay_ev2(svn_fs_root_t *roo
const char *repos_relpath = APR_ARRAY_IDX(paths, i, const char *);
svn_pool_clear(iterpool);
- SVN_ERR(replay_node(root, repos_relpath, editor,
- low_water_mark,
- base_repos_relpath, copies, changed_paths,
- authz_read_func, authz_read_baton,
- scratch_pool, iterpool));
+ err = replay_node(root, repos_relpath, editor, low_water_mark,
+ base_repos_relpath, copies, changed_paths,
+ authz_read_func, authz_read_baton,
+ scratch_pool, iterpool);
+ if (err)
+ break;
}
- /* ### We should probably abort on an error condition. */
- SVN_ERR(svn_editor_complete(editor));
+ if (err)
+ return svn_error_compose_create(err, svn_editor_abort(editor));
+ else
+ SVN_ERR(svn_editor_complete(editor));
svn_pool_destroy(iterpool);
return SVN_NO_ERROR;