On 09.06.2015 08:47, Branko Čibej wrote: > On 08.06.2015 20:22, Branko Čibej wrote: >> On 08.06.2015 19:06, Evgeny Kotkov wrote: >>> Branko Čibej <[email protected]> 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? > Should be fixed in r1684325.
Meh ... siliness. It's actually r1684344. The correct fix is in svnadmin; always sending notifications is correct from API users' perspective, too. -- Brane

