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

Re: [PATCH] Issue 1846, RA layer part

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2004-06-17 23:03:03 CEST

> + /* ras's URL may not exist in HEAD, and thus it's not safe to send
> + it as the main argument to the REPORT request; it might cause
> + dav_get_resource() to choke on the server. So instead, we pass a
> + baseline-collection URL, which we get from the peg revision. */
> + SVN_ERR(svn_ra_dav__get_baseline_info(NULL, &bc_url, &bc_relative, NULL,
> + ras->sess, ras->url, peg_revision,
> + ras->pool));
>
> We need to run the REPORT on some URI (which is ignored), and you're
> right, the URI may not exist in HEAD, which could cause mod_dav_svn to
> fail. But IIRC, __get_baseline_info() is a very expensive function,
> with potentially many network turnarounds. I think we should run this
> REPORT on the "VCC" URI, just as we do for many other types of report
> requests. The VCC URI is always guaranteed to exist, and can be
> obtained via svn_ra_dav__get_vcc(). This would keep our REPORT
> strategy pretty consistent across the board.
>
This doesn't seem to work. I'm passing a path relative to the repository
URL in the S:path element, so when I use the VCC, there is no info on
which absolute path to use. Naturally,
mod_dav_svn crashes since I try to resolve the
relative path against resource->info->repos_path, which is NULL now.
Should I instead resolve this on the client using
svn_ra_dav__get_repos_root, stripping that from the ras->url? That would
use get_baseline_info, but only if the repos_root isn't cached.

Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jun 17 22:52:09 2004

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.