On 26 June 2015 at 15:44, <kot...@apache.org> wrote: > > Author: kotkov > Date: Fri Jun 26 12:44:26 2015 > New Revision: 1687769 > > URL: http://svn.apache.org/r1687769 > Log: > Reimplement svn_repos_verify_fs3() to support an arbitrary callback that > receives the information about an encountered problem and lets the caller > decide on what happens next. This supersedes the keep_going argument for > this API. A callback is optional; the behavior of this API if the callback > is not provided is equivalent to how svn_repos_verify_fs2() deals with > encountered errors. This allows seamless migration to the new API, if the > callback is not necessary. The idea is partly taken from how our existing > svn_fs_lock_many() API works with a svn_fs_lock_callback_t and passes error > information to the caller. > [...]
> > Modified: subversion/trunk/subversion/include/svn_repos.h > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_repos.h?rev=1687769&r1=1687768&r2=1687769&view=diff > ============================================================================== > --- subversion/trunk/subversion/include/svn_repos.h (original) > +++ subversion/trunk/subversion/include/svn_repos.h Fri Jun 26 12:44:26 2015 [..] > @@ -2825,6 +2817,22 @@ enum svn_repos_load_uuid > svn_repos_load_uuid_force > }; > > +/** Callback type for use with svn_repos_verify_fs3(). @a revision > + * and @a verify_err are the details of a single verification failure > + * that occurred during the svn_repos_verify_fs3() call. @a baton is > + * the same baton given to svn_repos_verify_fs3(). @a scratch_pool is > + * provided for the convenience of the implementor, who should not > + * expect it to live longer than a single callback call. > + * Who is responsible for clearing verify_err: caller or callback implementor? > + * @see svn_repos_verify_fs3 > + * > + * @since New in 1.9. > + */ > +typedef svn_error_t *(*svn_repos_verify_callback_t)(void *baton, > + svn_revnum_t revision, > + svn_error_t *verify_err, > + apr_pool_t > *scratch_pool); > + -- Ivan Zhakov