On 7/26/07, dlr@tigris.org <dlr@tigris.org> wrote:
> Modified: trunk/subversion/libsvn_repos/rev_hunt.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_repos/rev_hunt.c?pathrev=25843&r1=25842&r2=25843
> ==============================================================================
> --- trunk/subversion/libsvn_repos/rev_hunt.c (original)
> +++ trunk/subversion/libsvn_repos/rev_hunt.c Thu Jul 26 11:50:17 2007
> @@ -21,6 +21,7 @@
> #include "svn_private_config.h"
> #include "svn_pools.h"
> #include "svn_error.h"
> +#include "svn_error_codes.h"
> #include "svn_fs.h"
> #include "svn_repos.h"
> #include "svn_string.h"
> @@ -251,6 +252,7 @@
> get rid of the old history until we use it to get the new, so
> we alternate back and forth between our subpools. */
> apr_pool_t *tmppool;
> + svn_error_t *err;
>
> SVN_ERR(svn_fs_history_prev(&history, history, cross_copies, newpool));
>
> @@ -281,8 +283,19 @@
> }
>
> /* Call the user-provided callback function. */
> - SVN_ERR(history_func(history_baton, history_path,
> - history_rev, newpool));
> + err = history_func(history_baton, history_path, history_rev, newpool);
> + if (err)
> + {
> + if (err->apr_err == SVN_ERR_CANCELLED)
Surely that should be SVN_ERR_CEASE_INVOCATION? (But I haven't tried
to run this and you did write tests...)
> + {
> + svn_error_clear(err);
> + goto cleanup;
> + }
> + else
> + {
> + return err;
> + }
> + }
--dave
--
David Glasser | glasser_at_mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 26 21:54:01 2007