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

Re: [PATCH] svn command - add - Multiple targets

From: Noorul Islam K M <noorul_at_collab.net>
Date: Thu, 10 Feb 2011 08:11:38 +0530

Noorul Islam K M <noorul_at_collab.net> writes:

> This patch is a followup of the following thread. All tests pass with
> this patch.
>
> http://svn.haxx.se/dev/archive-2011-01/0210.shtml
>
> Log
> [[[
>
> Make svn 'add' command to return 1 when one or more targets fail. Also
> print error message at the end.
>
> * subversion/svn/add-cmd.c
> (svn_cl__add): If one or more target fails to get processed then print
> error message at end of command execution. Also return 1 to shell.
>
> Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
> ]]]
>
> Index: subversion/svn/add-cmd.c
> ===================================================================
> --- subversion/svn/add-cmd.c (revision 1060693)
> +++ subversion/svn/add-cmd.c (working copy)
> @@ -51,6 +51,7 @@
> apr_array_header_t *targets;
> int i;
> apr_pool_t *iterpool;
> + svn_boolean_t saw_a_problem = FALSE;
>
> SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
> opt_state->targets,
> @@ -79,6 +80,7 @@
> for (i = 0; i < targets->nelts; i++)
> {
> const char *target = APR_ARRAY_IDX(targets, i, const char *);
> + svn_boolean_t success;
>
> svn_pool_clear(iterpool);
> SVN_ERR(svn_cl__check_cancel(ctx->cancel_baton));
> @@ -87,12 +89,19 @@
> opt_state->depth,
> opt_state->force, opt_state->no_ignore,
> opt_state->parents, ctx, iterpool),
> - NULL, opt_state->quiet,
> + &success, opt_state->quiet,
> SVN_ERR_ENTRY_EXISTS,
> SVN_ERR_WC_PATH_NOT_FOUND,
> SVN_NO_ERROR));
> +
> + if (! success)
> + saw_a_problem = TRUE;
> }
>
> svn_pool_destroy(iterpool);
> - return SVN_NO_ERROR;
> +
> + if (saw_a_problem)
> + return svn_error_create(SVN_ERR_BASE, NULL, NULL);
> + else
> + return SVN_NO_ERROR;
> }

Mike,

This one is a follow-up to r1068977.

Slightly modified log

Log
[[[

Follow-up to r1068977. Make 'svn add' return a non-zero errorcode when
one or more targets fails. Also print an error message in those
situations.

* subversion/svn/add-cmd.c
  (svn_cl__add): Return an error if the operation fails for
    any of the targets.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
]]]

Thanks and Regards
Noorul
Received on 2011-02-10 03:42:29 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.