On Thu, 2004-06-17 at 16:03, Peter N. Lundblad wrote:
> > + /* 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.
Ugh, never mind. I didn't realize mod_dav_svn was actually *using* the
main URI to the REPORT request. Let's leave well enough alone.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 18 19:48:09 2004