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

Re: svn commit: r986510 - in /subversion/trunk/subversion: bindings/javahl/native/SVNClient.cpp include/svn_client.h libsvn_client/delete.c libsvn_client/deprecated.c libsvn_client/externals.c libsvn_client/status.c svn/status-cmd.c

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Tue, 17 Aug 2010 17:35:47 -0500

I raised some issues about this proposed change in
http://svn.haxx.se/dev/archive-2010-08/0431.shtml. Could you please
address them?

Thanks,
-Hyrum

On Tue, Aug 17, 2010 at 5:25 PM, <rhuijben_at_apache.org> wrote:
> Author: rhuijben
> Date: Tue Aug 17 22:25:09 2010
> New Revision: 986510
>
> URL: http://svn.apache.org/viewvc?rev=986510&view=rev
> Log:
> Following up on r957917, make it possible to switch of the ambient depth
> filter when using svn_client_status5, like it is possible with
> svn_client_update3().
>
> Currently we don't expose this information to the svn client, as using
> --set-depth on svn status would be illogical.
>
> * subversion/bindings/javahl/native/SVNClient.cpp
>  (SVNClient::status): Update caller.
>
> * subversion/include/svn_client.h
>  (svn_client_status5): Add flag.
>  (svn_client_status4): Update documentation.
>
> * subversion/libsvn_client/delete.c
>  (svn_client__can_delete): Update caller.
>
> * subversion/libsvn_client/deprecated.c
>  (svn_client_status4): Update caller.
>
> * subversion/libsvn_client/externals.c
>  (svn_client__do_external_status): Update caller.
>
> * subversion/libsvn_client/status.c
>  (svn_client_status5): Allow using the explicit depth for the ra call.
>
> * subversion/svn/status-cmd.c
>  (svn_cl__status): Update caller.
>
> Modified:
>    subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
>    subversion/trunk/subversion/include/svn_client.h
>    subversion/trunk/subversion/libsvn_client/delete.c
>    subversion/trunk/subversion/libsvn_client/deprecated.c
>    subversion/trunk/subversion/libsvn_client/externals.c
>    subversion/trunk/subversion/libsvn_client/status.c
>    subversion/trunk/subversion/svn/status-cmd.c
>
> Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original)
> +++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Tue Aug 17 22:25:09 2010
> @@ -183,7 +183,7 @@ SVNClient::status(const char *path, svn_
>     SVN_JNI_ERR(svn_client_status5(&youngest, ctx, checkedPath.c_str(),
>                                    &rev,
>                                    depth,
> -                                   getAll, onServer, noIgnore,
> +                                   getAll, onServer, noIgnore, FALSE,
>                                    ignoreExternals,
>                                    changelists.array(requestPool),
>                                    StatusCallback::callback, callback,
>
> Modified: subversion/trunk/subversion/include/svn_client.h
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/include/svn_client.h (original)
> +++ subversion/trunk/subversion/include/svn_client.h Tue Aug 17 22:25:09 2010
> @@ -2142,6 +2142,10 @@ typedef svn_error_t *(*svn_client_status
>  * definition, and with #svn_wc_notify_status_completed
>  * after each.
>  *
> + * If @a depth_as_sticky is set and @a depth is not
> + * #svn_depth_unknown, then the status is calculated as if depth_is_sticky
> + * was passed to an equivalent update command.
> + *
>  * @a changelists is an array of <tt>const char *</tt> changelist
>  * names, used as a restrictive filter on items whose statuses are
>  * reported; that is, don't report status about any item unless
> @@ -2162,6 +2166,7 @@ svn_client_status5(svn_revnum_t *result_
>                    svn_boolean_t update,
>                    svn_boolean_t no_ignore,
>                    svn_boolean_t ignore_externals,
> +                   svn_boolean_t depth_as_sticky,
>                    const apr_array_header_t *changelists,
>                    svn_client_status_func_t status_func,
>                    void *status_baton,
> @@ -2169,7 +2174,8 @@ svn_client_status5(svn_revnum_t *result_
>
>  /**
>  * Same as svn_client_status5(), but using #svn_wc_status_func3_t
> - * instead of #svn_wc_status_func4_t.
> + * instead of #svn_wc_status_func4_t and depth_as_sticky set to FALSE.
> + * (
>  *
>  * @since New in 1.6.
>  * @deprecated Provided for backward compatibility with the 1.6 API.
>
> Modified: subversion/trunk/subversion/libsvn_client/delete.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/delete.c?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_client/delete.c (original)
> +++ subversion/trunk/subversion/libsvn_client/delete.c Tue Aug 17 22:25:09 2010
> @@ -115,7 +115,7 @@ svn_client__can_delete(const char *path,
>      be deleted. */
>   return svn_error_return(svn_client_status5(NULL, ctx, path, &revision,
>                                              svn_depth_infinity, FALSE,
> -                                             FALSE, FALSE, FALSE,
> +                                             FALSE, FALSE, FALSE, FALSE,
>                                              NULL,
>                                              find_undeletables, NULL,
>                                              scratch_pool));
>
> Modified: subversion/trunk/subversion/libsvn_client/deprecated.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/deprecated.c?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_client/deprecated.c (original)
> +++ subversion/trunk/subversion/libsvn_client/deprecated.c Tue Aug 17 22:25:09 2010
> @@ -1698,8 +1698,8 @@ svn_client_status4(svn_revnum_t *result_
>                                        status_baton };
>
>   return svn_client_status5(result_rev, ctx, path, revision, depth, get_all,
> -                            update, no_ignore, ignore_externals, changelists,
> -                            status4_wrapper_func, &swb, pool);
> +                            update, no_ignore, ignore_externals, FALSE,
> +                            changelists, status4_wrapper_func, &swb, pool);
>  }
>
>  struct status3_wrapper_baton
>
> Modified: subversion/trunk/subversion/libsvn_client/externals.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/externals.c?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_client/externals.c (original)
> +++ subversion/trunk/subversion/libsvn_client/externals.c Tue Aug 17 22:25:09 2010
> @@ -1380,7 +1380,7 @@ svn_client__do_external_status(svn_clien
>           SVN_ERR(svn_client_status5(NULL, ctx, fullpath,
>                                      &(external->revision),
>                                      depth, get_all, update,
> -                                     no_ignore, FALSE, NULL,
> +                                     no_ignore, FALSE, FALSE, NULL,
>                                      status_func, status_baton,
>                                      iterpool));
>         }
>
> Modified: subversion/trunk/subversion/libsvn_client/status.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/status.c?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_client/status.c (original)
> +++ subversion/trunk/subversion/libsvn_client/status.c Tue Aug 17 22:25:09 2010
> @@ -253,6 +253,7 @@ svn_client_status5(svn_revnum_t *result_
>                    svn_boolean_t update,
>                    svn_boolean_t no_ignore,
>                    svn_boolean_t ignore_externals,
> +                   svn_boolean_t depth_as_sticky,
>                    const apr_array_header_t *changelists,
>                    svn_client_status_func_t status_func,
>                    void *status_baton,
> @@ -439,6 +440,7 @@ svn_client_status5(svn_revnum_t *result_
>         {
>           svn_revnum_t revnum;
>           report_baton_t rb;
> +          svn_depth_t status_depth;
>
>           if (revision->kind == svn_opt_revision_head)
>             {
> @@ -456,10 +458,15 @@ svn_client_status5(svn_revnum_t *result_
>                                                       pool));
>             }
>
> +          if (depth_as_sticky)
> +            status_depth = depth;
> +          else
> +            status_depth = svn_depth_unknown; /* Use depth from WC */
> +
>           /* Do the deed.  Let the RA layer drive the status editor. */
>           SVN_ERR(svn_ra_do_status2(ra_session, &rb.wrapped_reporter,
>                                     &rb.wrapped_report_baton,
> -                                    target_basename, revnum, svn_depth_unknown,
> +                                    target_basename, revnum, status_depth,
>                                     editor, edit_baton, pool));
>
>           /* Init the report baton. */
>
> Modified: subversion/trunk/subversion/svn/status-cmd.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/status-cmd.c?rev=986510&r1=986509&r2=986510&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/svn/status-cmd.c (original)
> +++ subversion/trunk/subversion/svn/status-cmd.c Tue Aug 17 22:25:09 2010
> @@ -316,6 +316,7 @@ svn_cl__status(apr_getopt_t *os,
>                                              opt_state->update,
>                                              opt_state->no_ignore,
>                                              opt_state->ignore_externals,
> +                                             FALSE /* depth_as_sticky */,
>                                              opt_state->changelists,
>                                              print_status, &sb,
>                                              iterpool),
>
>
>
Received on 2010-08-18 00:36:28 CEST

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