stsp_at_apache.org wrote on Thu, Jun 27, 2013 at 13:59:59 -0000:
> Author: stsp
> Date: Thu Jun 27 13:59:58 2013
> New Revision: 1497359
>
> URL: http://svn.apache.org/r1497359
> Log:
> Add support for cleaning up externals via 'svn cleanup --include-externals'.
>
> +++ subversion/trunk/subversion/libsvn_client/cleanup.c Thu Jun 27 13:59:58 2013
> @@ -44,27 +44,132 @@
> +static svn_error_t *
> +do_cleanup(const char *local_abspath,
> + svn_boolean_t include_externals,
> + svn_boolean_t remove_unversioned_items,
> + svn_boolean_t remove_ignored_items,
> + svn_client_ctx_t *ctx,
> + apr_pool_t *scratch_pool)
> +{
> + if (remove_unversioned_items || remove_ignored_items || include_externals)
> + {
> + struct cleanup_status_walk_baton b;
> +
> + b.include_externals = include_externals;
> + b.remove_unversioned_items = remove_unversioned_items;
> + b.remove_ignored_items = remove_ignored_items;
> + b.include_externals = include_externals;
> + b.ctx = ctx;
> + SVN_ERR(svn_wc_walk_status(ctx->wc_ctx, local_abspath,
> + svn_depth_infinity,
> + TRUE, /* get all */
> + remove_ignored_items,
> + TRUE, /* ignore textmods */
> + NULL, /* use default ignore patterns */
That uses the compile-time-default ignore patterns even if the user has
changed them.
% rm -rf ~/.subversion
% touch foo.o
% svn st
% svn st --no-ignore
I foo.o
% svn st --config-option=config:miscellany:global-ignores=
? foo.o
% $svn st
% $svn st --no-ignore
I foo.o
% $svn st --config-option=config:miscellany:global-ignores=
? foo.o
% $svn cleanup --remove-ignored --config-option=config:miscellany:global-ignores=
D foo.o
%
I would expect foo.o not to be deleted under --remove-ignored since it
does not match any ignore pattern in the config or properties in effect.
I would expect it to be deleted under --remove-unversioned (I didn't
test this).
Daniel
> + cleanup_status_walk, &b,
> + ctx->cancel_func,
> + ctx->cancel_baton,
> + scratch_pool));
> + }
> +
> + return SVN_NO_ERROR;
> +}
Received on 2013-06-27 16:18:50 CEST