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

Reply via email to