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, <rhuij...@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), > > >