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

Re: svn list -R of medium-size repository takes 10 hours.

From: Jean-Marc Godbout <jmgodbout_at_gmail.com>
Date: 2005-08-29 16:41:29 CEST

I am actually on my way out the door for a road trip across america
(going back home). I will work on suggestion 1 during the evenings. It
should be pretty easy to add supports_deadprop_count to the session
(with the added benefit of making it easier to move the code to detect
deadprop-count support).

I will also look at #2 and see if it's possible to do it without
breaking everything. It might require a separate patch but I'll see
what I can do.

Thanks for the suggestions
Jean-Marc

On 8/29/05, Carsten Koch <Carsten.Koch@icem.com> wrote:
> Jean-Marc Godbout wrote:
> ...
> > The patch does an extra propfind before doing the "big" propfind to
> > probe and see if the server supports the deadprop-count prop.
>
>
> Excellent!
>
> I have three questions:
>
> 1) is "supports_deadprop_count" called only once per "svn list" run
> or is it called once per directory processed?
>
>
> 2)
>
> + if (supports_deadprop_count == TRUE)
> + {
> + SVN_ERR( svn_ra_dav__get_props(&resources, ras->sess,
> + final_url, NE_DEPTH_ONE,
> + NULL, dirent_props, pool) );
> + }
>
> Would it be possible to distinguish between "svn list" and "svn list -v"
> in the above statement, like this:
>
> static const ne_propname verbose_dirent_props[] =
> {
> { "DAV:", "resourcetype" }, /* kind */
> { "DAV:", "getcontentlength" }, /* size */
> { "DAV:", "version-name" }, /* created_rev */
> { "DAV:", "creationdate" }, /* time */
> { "DAV:", "creator-displayname" }, /* last_author */
> { SVN_DAV_PROP_NS_DAV, "deadprop-count" }, /* has_props */
> { NULL }
> }
>
> static const ne_propname short_dirent_props[] =
> {
> { "DAV:", "resourcetype" }, /* kind */
> { NULL }
> }
>
> ...
> if (supports_deadprop_count)
> {
> if (verbose_listing)
> SVN_ERR( svn_ra_dav__get_props(&resources, ras->sess,
> final_url, NE_DEPTH_ONE,
> NULL, verbose_dirent_props, pool) );
> else
> SVN_ERR( svn_ra_dav__get_props(&resources, ras->sess,
> final_url, NE_DEPTH_ONE,
> NULL, short_dirent_props, pool) );
>
> }
>
> ?
>
>
> 3) Would it be possible to use NE_DEPTH_INFINITE in the case of "svn list -R"?
>
>
>
>
> Carsten.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Aug 29 16:42:25 2005

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