Author: stefan2
Date: Tue Jan 21 01:15:14 2014
New Revision: 1559872
URL: http://svn.apache.org/r1559872
Log:
In 'svnadmin verify --keep-going', don't treat a user-cancellation
as a normal error that could be ignored.
* subversion/libsvn_repos/dump.c
(svn_repos_verify_fs3): Leave if the error is actually a cancel request.
Also, report errors found during the metadata
verification phase.
Modified:
subversion/trunk/subversion/libsvn_repos/dump.c
Modified: subversion/trunk/subversion/libsvn_repos/dump.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/dump.c?rev=1559872&r1=1559871&r2=1559872&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/dump.c (original)
+++ subversion/trunk/subversion/libsvn_repos/dump.c Tue Jan 21 01:15:14 2014
@@ -2209,23 +2209,22 @@ svn_repos_verify_fs3(svn_repos_t *repos,
verify_notify, verify_notify_baton,
cancel_func, cancel_baton, pool);
- if (err && !keep_going)
+ if (err)
{
+ if (err->apr_err == SVN_ERR_CANCELLED)
+ return svn_error_trace(err);
+
found_corruption = TRUE;
notify_verification_error(SVN_INVALID_REVNUM, err, notify_func,
notify_baton, iterpool);
svn_error_clear(err);
- return svn_error_createf(SVN_ERR_REPOS_CORRUPTED, NULL,
- _("Repository '%s' failed to verify"),
- svn_dirent_local_style(svn_repos_path(repos,
- pool),
- pool));
- }
- else
- {
- if (err)
- found_corruption = TRUE;
- svn_error_clear(err);
+
+ if (!keep_going)
+ return svn_error_createf(SVN_ERR_REPOS_CORRUPTED, NULL,
+ _("Repository '%s' failed to verify"),
+ svn_dirent_local_style(svn_repos_path(repos,
+ pool),
+ pool));
}
for (rev = start_rev; rev <= end_rev; rev++)
@@ -2240,6 +2239,9 @@ svn_repos_verify_fs3(svn_repos_t *repos,
if (err)
{
+ if (err->apr_err == SVN_ERR_CANCELLED)
+ return svn_error_trace(err);
+
found_corruption = TRUE;
notify_verification_error(rev, err, notify_func, notify_baton,
iterpool);