[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Consistent error codes from RA layers

From: <svnlgo_at_mobsol.be>
Date: Thu, 6 Mar 2008 15:41:53 +0100

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

This is an archived mail posted to the Subversion Dev mailing list.