Hi Daniel,

The exact logistics of handling an error are probably pretty
straightforward. The underlying problem is that it is never a good
idea to pipe the output of svnrdump directly into svnadmin load,
because svnadmin cannot handle the failure unless the stream itself
carries more information.

Eric

> On Sep 16, 2015, at 3:52 PM, Daniel Shahaf <d...@daniel.shahaf.name> wrote:
>
> Eric Johnson wrote on Wed, Sep 16, 2015 at 11:03:08 -0700:
>> So if the dump of the last commit is incomplete, I an error code tells me,
>> what, exactly? That I need to manually edit the stream that I just dumped
>> into a file? That I should discard the whole dump, and start again?
>
> If you run dump and you get a non-zero exit code, then the output should
> be regarded as potentially corrupted.  In the specific case of
> ECONNABORTED, you can probably trust that the receiver received a prefix
> of what the sender sent (TCP promises that), and therefore, trust
> everything _except_ the last revision loaded.
>
> You can detect ECONNABORTED by looking at the E123456 error code.  System
> error codes are mapped into that range.  On unix the mapping is usually
> the identity (e.g., errno�2 becomes E000002).  On windows there's an
> offset of 720000 (see APR_FROM_OS_ERROR).  The Subversion-specific error
> codes always have the same numeric values regardless of platform (that's
> the APR_OS_START_USERERR range, E120000 through E620000).

Reply via email to