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

Re: diff problems over ra_dav

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2002-04-17 23:57:41 CEST

Philip Martin <philip@codematters.co.uk> writes:

> $ svn diff -r1:2
>
> ../svn/subversion/libsvn_ra_dav/util.c:314
> svn_error: #21016 : <Trying to use an unsupported feature>
> REPORT request failed on /repo
>
> ../svn/subversion/libsvn_ra_dav/util.c:161
> svn_error: #21016 : <Trying to use an unsupported feature>
>
> dav_svn_parse_uri does not support that URI form yet.
>

Okay, so cmpilato figured out what's going on here.

In particular, it's a bug related to the DAV implementation of
RA->do_switch().

Previously, a repos-to-repos diff would call RA->do_update, send a
fake report, and then the repos-diff editor would construct secret
fulltexts as necessary to print diffs.

In my new system, it's now calling RA->do_switch instead. The only
difference here is that do_switch compares two [potentially] different
URLs, instead of assuming 2 identical fs paths -- which is why we can
do 'svn diff URL1 URL2' now.

The bug, it seems, is exactly what you were looking at: we tell
mod_dav_svn that we want to 'switch' to URL2, where URL2 is points to
the root of the repository. Bam, we bail out in
dav_svn_simple_parse_uri, line 160. There's a cryptic comment there:

  /* ### we don't handle http://host/repos or http://host/repos/ yet */

So apparently if you tell the DAV layer to switch to any repository
root, it's gonna bail. We've not seen this bug yet, because we have
no 'svn switch' python tests yet. And all our casual uses of 'svn
switch' have been on subdirectories. [And Philip, this explains why
diff-tests #5 and #9 fail too -- because now do_switch() is running on
a wc that corresponds to an fs root -- but 'svn diff -rN:M' still runs
when you try it against a subdir of the real svn repository, which is
what we always have.]

Anyway, enough beating around the bush. Gstein, can you shed some
light on the problem? Maybe explain the comment?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Apr 17 23:59:01 2002

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