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

Reply via email to