You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by kf...@collab.net on 2004/03/29 21:36:50 UTC

Re: [PATCH] Correct use of notification baton during update.

"Max Bowsher" <ma...@ukf.net> writes:
> Currently, "svn up target1 target2 target3" sometimes produces misleading
> messages. Once one target has received changes, all following targets will
> show the message "Updated to revision rxxx" not "At revision rxxx", even if
> they have *not* been updated. This is because
> notify_baton.received_some_change is set but never reset. This can be solved
> by only using a notify_baton for one call to svn_client_update.
> 
> * subversion/clients/cmdline/update-cmd.c (svn_cl__update): Reduce the
> lifetime
>     of a notify_baton to a single call of svn_client_update.

Looks utterly sane to me.  I assume this passes the tests; +1 to
commit.

-Karl


> Index: subversion/clients/cmdline/update-cmd.c
> ===================================================================
> --- subversion/clients/cmdline/update-cmd.c (revision 9226)
> +++ subversion/clients/cmdline/update-cmd.c (working copy)
> @@ -61,10 +61,6 @@
>                                           targets,
>                                           pool));
> 
> -  if (! opt_state->quiet)
> -    svn_cl__get_notifier (&ctx->notify_func, &ctx->notify_baton, FALSE,
> FALSE,
> -                          FALSE, pool);
> -
>    for (i = 0; i < condensed_targets->nelts; i++)
>      {
>        const char *target = ((const char **) (condensed_targets->elts))[i];
> @@ -73,6 +69,10 @@
>        svn_pool_clear (subpool);
>        SVN_ERR (svn_cl__check_cancel (ctx->cancel_baton));
> 
> +      if (! opt_state->quiet)
> +        svn_cl__get_notifier (&ctx->notify_func, &ctx->notify_baton, FALSE,
> FALSE,
> +                              FALSE, subpool);
> +
>        err = svn_client_update (NULL, target,
>                                 &(opt_state->start_revision),
>                                 opt_state->nonrecursive ? FALSE : TRUE,
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Correct use of notification baton during update.

Posted by Max Bowsher <ma...@ukf.net>.
kfogel@collab.net wrote:
> "Max Bowsher" <ma...@ukf.net> writes:
>> Currently, "svn up target1 target2 target3" sometimes produces misleading
>> messages. Once one target has received changes, all following targets
will
>> show the message "Updated to revision rxxx" not "At revision rxxx", even
if
>> they have *not* been updated. This is because
>> notify_baton.received_some_change is set but never reset. This can be
solved
>> by only using a notify_baton for one call to svn_client_update.
>>
>> * subversion/clients/cmdline/update-cmd.c (svn_cl__update): Reduce the
>> lifetime
>>     of a notify_baton to a single call of svn_client_update.
>
> Looks utterly sane to me.  I assume this passes the tests; +1 to
> commit.
>
> -Karl

I hadn't actually run the tests - on Cygwin, the tests don't seem to work
with a shared-library build.

I'm rebuilding static, and if test results are good, I'll commit.

Max.

>
>
>> Index: subversion/clients/cmdline/update-cmd.c
>> ===================================================================
>> --- subversion/clients/cmdline/update-cmd.c (revision 9226)
>> +++ subversion/clients/cmdline/update-cmd.c (working copy)
>> @@ -61,10 +61,6 @@
>>                                           targets,
>>                                           pool));
>>
>> -  if (! opt_state->quiet)
>> -    svn_cl__get_notifier (&ctx->notify_func, &ctx->notify_baton, FALSE,
>> FALSE,
>> -                          FALSE, pool);
>> -
>>    for (i = 0; i < condensed_targets->nelts; i++)
>>      {
>>        const char *target = ((const char **)
(condensed_targets->elts))[i];
>> @@ -73,6 +69,10 @@
>>        svn_pool_clear (subpool);
>>        SVN_ERR (svn_cl__check_cancel (ctx->cancel_baton));
>>
>> +      if (! opt_state->quiet)
>> +        svn_cl__get_notifier (&ctx->notify_func, &ctx->notify_baton,
FALSE,
>> FALSE,
>> +                              FALSE, subpool);
>> +
>>        err = svn_client_update (NULL, target,
>>                                 &(opt_state->start_revision),
>>                                 opt_state->nonrecursive ? FALSE : TRUE,
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>> For additional commands, e-mail: dev-help@subversion.tigris.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org