> Index: subversion/libsvn_repos/dump.c > =================================================================== > --- subversion/libsvn_repos/dump.c (revision 1420101) > +++ subversion/libsvn_repos/dump.c (working copy) > @@ -1413,19 +1452,31 @@ > void *cancel_edit_baton; > svn_fs_root_t *to_root; > apr_hash_t *props; > + svn_error_t *err;
Pretty sure you'll get a -Wshadow compiler warning here. You should ensure patches don't add compiler warnings. > @@ -1433,9 +1484,20 @@ > iterpool)); > > SVN_ERR(svn_fs_revision_root(&to_root, fs, rev, iterpool)); > - SVN_ERR(svn_repos_replay2(to_root, "", SVN_INVALID_REVNUM, FALSE, > - cancel_editor, cancel_edit_baton, > - NULL, NULL, iterpool)); > + err = svn_repos_replay2(to_root, "", SVN_INVALID_REVNUM, FALSE, > + cancel_editor, cancel_edit_baton, > + NULL, NULL, iterpool); > + > + if (err && keep_going) > + { > + notify_verification_error(rev, err, notify_func, notify_baton, > + iterpool); > + svn_error_clear(err); Hmm. What if this is a malfunction error? (Compare get_shared_rep() in fs_fs.c) Maybe we should introduce: #define svn_error_clear2(err) \ do { \ svn_error_t *__svn_error = (err); \ if (__svn_error && SVN_ERROR_IN_CATEGORY(__svn_error->apr_err, \ SVN_ERR_MALFUNC_CATEGORY_START)) \ return svn_error_trace (__svn_error); \ else \ svn_error_clear(err); \ } (this is orthogonal to your patch) > +++ subversion/tests/cmdline/svnadmin_tests.py (working copy) > @@ -1835,6 +1835,107 @@ > svntest.main.run_svnadmin("recover", sbox.repo_dir) > > > +def verify_keep_going(sbox): > + "svnadmin verify --keep-going test" > + test_create(sbox) > + dumpfile_skeleton = open(os.path.join(os.path.dirname(sys.argv[0]), > + > 'svnadmin_tests_data', > + > 'skeleton_repos.dump')).read() Wrap to 80 columns > Thanks. Daniel