On Wed, Apr 14, 2010 at 15:53, Stefan Sperling <s...@elego.de> wrote:
> On Wed, Apr 14, 2010 at 12:21:02PM -0400, Greg Stein wrote:
>> On Tue, Apr 13, 2010 at 15:45,  <s...@apache.org> wrote:
>> >...
>> > +++ 
>> > subversion/branches/svn-patch-improvements/subversion/libsvn_client/patch.c
>> >  Tue Apr 13 19:45:17 2010
>> >...
>> > +  /* Finally, delete empty directories. */
>> > +  for (i = 0; i < empty_dirs->nelts; i++)
>> > +    {
>> > +      const char *empty_dir;
>> > +
>> > +      svn_pool_clear(iterpool);
>> > +
>> > +      if (ctx->cancel_func)
>> > +        SVN_ERR(ctx->cancel_func(ctx->cancel_baton));
>
> We do it here ^^^
>
>> > +
>> > +      empty_dir = APR_ARRAY_IDX(empty_dirs, i, const char *);
>> > +      if (ctx->notify_func2)
>> > +        {
>> > +          svn_wc_notify_t *notify;
>> > +
>> > +          notify = svn_wc_create_notify(empty_dir, svn_wc_notify_delete,
>> > +                                        iterpool);
>> > +          (*ctx->notify_func2)(ctx->notify_baton2, notify, iterpool);
>> > +        }
>> > +      if (! dry_run)
>> > +        SVN_ERR(svn_wc_delete4(ctx->wc_ctx, empty_dir, FALSE, FALSE,
>> > +                               NULL, NULL, /* suppress cancellation */
>> > +                               NULL, NULL, /* suppress notification */
>> > +                               iterpool));
>>
>> I can see suppressing notification, but why cancellation?
>
> See above.
>
> It's a bit arbitrary how cancellation is done in the patch code.
> It may need a bit of review in this area.

I saw the above, but svn_wc_delete4() also has plenty of loops.
Passing along the cancellation will provide for faster cancellation.

Cheers,
-g

Reply via email to