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

Re: [PATCH] Re: "svn revert" performance

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: 2003-11-30 20:50:17 CET

On 2003-11-03 02:00, Gareth McCaughan wrote:
>
> ... So I'm doing so. Patch and log message are attached.

Gareth, I have come across the same thing so am interested in your patch. If this message that I am replying to has the latest version of your patch, then please could you update the log message (the one attached corresponds to an earlier version of the patch) and re-send. If this isn't the latest version, could you send or point me to the latest.

Thanks.

- Julian

> Index: subversion/include/svn_client.h
> ===================================================================
> --- subversion/include/svn_client.h (revision 7591)
> +++ subversion/include/svn_client.h (working copy)
> @@ -901,18 +901,27 @@
> apr_pool_t *pool);
>
>
> -/** Restore the pristine version of a working copy @a path, effectively
> - * undoing any local mods. If @a path is a directory, and @a recursive
> - * is @a true, this will be a recursive operation.
> +/** Restore the pristine version of each working copy named in @a paths,
> + * effectively undoing any local mods. If any of those paths is a
> + * directory and @a recursive is @a true, it will be reverted
> + * recursively.
> *
> * If @a ctx->notify_func is non-null, then for each item reverted, call
> * @a ctx->notify_func with @a ctx->notify_baton and the path of the reverted
> * item.
> *
> - * If @a path is not found, return the error @c SVN_ERR_ENTRY_NOT_FOUND.
> + * If any path is not found and @a ctx->notify_func is non-null,
> + * then @a ctx->notify_func will be called with @a ctx->notify_baton
> + * and each nonexistent path, with kind @a svn_wc_notify_skip.
> + * Regardless of the state of ctx->notify_func, this will not
> + * cause an error to be returned and will not prevent processing
> + * of subsequent paths in the list.
> + *
> + * After each path has been processed, @a ctx->cancel_func is called
> + * with @a ctx->cancel_baton provided @a ctx->cancel_func is non-null.
> */
> svn_error_t *
> -svn_client_revert (const char *path,
> +svn_client_revert (apr_array_header_t *paths,
> svn_boolean_t recursive,
> svn_client_ctx_t *ctx,
> apr_pool_t *pool);
[...]
> ------------------------------------------------------------------------
>
> Make "svn revert" not sleep for approximately 1 second per
> path named on the command line; instead, do the "sleep for
> timestamp integrity" once at the end of the operation. See
> brief discussion in dev@subversion starting at message 48749.
>
> * svn_client.h
> (svn_client_revert_list) New function.
>
> * revert.c
> (revert_1) New function, doing what svn_client_revert
> used to do apart from the final sleep.
> (revert_n) New function, calling revert_1 multiple times.
> (svn_client_revert) Eviscerated, so that it now just calls
> revert_1 and then sleeps.
> (svn_client_revert) Now takes a list of paths, calls
> revert_n and then sleeps.
>
> * revert-cmd.c
> (svn_cl__revert) Call the new svn_client_revert once,
> instead of the old one many times.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Nov 30 20:46:50 2003

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