On 08.06.2015 19:06, Evgeny Kotkov wrote:
> Branko Čibej <brane_at_wandisco.com> writes:
>
>> I completed your patch and committed the fix in r1683311. Please review!
>>
>> -- Brane
> Sorry, I was on vacation last week and couldn't look at this fix earlier.
>
> I reviewed the committed patch and tested how Subversion 1.9.x behaves with it,
> as the change itself got merged into branches/1.9.x in r1683658. From what I
> witness, 'svnadmin verify' now erroneously reports the same error twice for a
> corrupted repository:
>
> * Verifying repository metadata ...
> * Verified revision 0.
> * Verified revision 1.
> * Error verifying revision 2.
> svnadmin: E160062: Malformed node revision ID string
> svnadmin: E160062: Malformed node revision ID string
>
> Relevant hunks of r1683311 are located in subversion/libsvn_repos/dump.c:2433
> and :2466, where we send the error notification and immediately return the same
> error to the caller:
> [[[
> ...
> else if (err)
> {
> notify_verification_error(rev, err, notify_func, notify_baton,
> iterpool);
>
> if (!keep_going)
> {
> /* Return the error, the caller doesn't want us to continue. */
> return svn_error_trace(err);
> }
> ...
> ]]]
>
> The caller (subversion/svnadmin/svnadmin.c:1908) writes both of these errors
> to stderr, and that results in the erroneous output.
Good catch. I suppose that means we shouldn't send the notification when
!keep_going, right?
-- Brane
Received on 2015-06-08 20:22:52 CEST