Quoting Julian Foad <julianfoad_at_btopenworld.com>:
> Code like this appears in several places:
>
> > err = editor->delete_entry(path, item->revision, parent_baton, pool);
> > if (err)
> > {
> > if (err->apr_err == SVN_ERR_FS_NOT_FOUND
> > || err->apr_err == SVN_ERR_RA_DAV_PATH_NOT_FOUND)
>
> These two errors both mean "the item was not present in the repository". When
> committing to the repository, this indicates that the WC is out of date
> w.r.t.
> the repository.
>
> SVN_ERR_FS_NOT_FOUND is sent by the file or svn RA layers, and
> SVN_ERR_RA_DAV_PATH_NOT_FOUND is sent by the http/https RA layers, with the
> same meaning.
>
> The RA layers are intended to provide a consistent interface, so I think all
> the RA layers ought to be made to return the same error code for this case.
>
+1
> At the very least, svn_delta_editor_t ought to document the error codes that
> its functions return in this and similar situations.
Too bad C doesn't have a 'throws' statement like Java, but with a macro we
should be able to implement both the 'document error codes' and 'check that no
other error codes are returned' part.
Lieven
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-06 16:32:37 CET