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

Re: [sparse-directories] Depth parameter for the editor API

From: Daniel Rall <dlr_at_collab.net>
Date: 2007-04-05 19:43:01 CEST

On Wed, 04 Apr 2007, Daniel Rall wrote:

> On Wed, 04 Apr 2007, Daniel Rall wrote:
>
> > On Sat, 24 Mar 2007, Karl Fogel wrote:
> >
> > > Vlad Georgescu <vgeorgescu@gmail.com> writes:
> > > > What happens now if a pre-1.5 client tries to do a non-recursive
> > > > checkout? If I'm reading the code right, it looks like we set the
> > > > default depth to infinity, expecting the client to set the real depth
> > > > later via set_path(). However, old clients don't know about the new
> > > > set_path(), so it looks like they'd be stuck with a depth of infinity.
> > >
> > > That's on my list to look at. The client should still be sending the
> > > non-recurse flag, and the new code should still pay attention to it
> > > (by setting default_depth to svn_depth_files).
> >
> > If you call the old svn_repos_begin_report() API directly, things
> > should work as expected, with the report_baton_t->default_depth being
> > used when the old set_path()/link_path() don't supply an overriding
> > depth. However, it appears that all the RA code uses the new
> > svn_repos_begin_report2() API, which will have the problem described
> > by Vlad (it always uses svn_depth_infinity).
>
> I'm testing the attached patch a solution to the problem pointed out
> by Vlad (improper compat behavior), and the change in handling for
> svn_depth_unknown discussed by myself, Malcolm, and Karl (error out
> instead of assuming svn_depth_infinity).

I committed a very similar patch to trunk in r24453. After some
discussion with Vlad, we realized that once svnserve and mod_dav_svn
no longer accept an optional DEPTH parameter, that we may want to
tweak this approach (e.g. the report_baton_t->default_depth field
really only applies to users of the pre-1.5 API, and the API used by
our server implementations doesn't need a DEPTH parameter, only a
RECURSE parameter).

Karl, are you planning on removing the depth parameter from
serve.c:accept_report() and mod_dav_svn:dav_svn__update_report()? I'm
certain that it needs to be removed from accept_report();
mod_dav_svn's handling is a little less clear to me.

  • application/pgp-signature attachment: stored
Received on Thu Apr 5 19:43:26 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.