subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <...@daniel.shahaf.name>
Subject Re: Query about warnings: mod_dav_svn: nested Location '/repos/reponame' hinders access to '' in SVNPath Location '/repos/reponame'
Date Thu, 05 Oct 2017 11:04:45 GMT
Chris Rodgers wrote on Thu, 05 Oct 2017 11:31 +0100:
> > [Thu Oct 05 10:53:19.131284 2017] [:warn] [pid 30014] mod_dav_svn:
> > nested Location '/repos/reponame' hinders access to '' in SVNPath
> > Location '/repos/reponame'

This error means that you have two <Location /repos/reponame> blocks
with SVNPath directives.  It is worded this way because it's written
with <Location /foo> and <Location /foo/bar> pairs in mind.

This might just mean that subversion.conf is included twice into httpd.conf.

> How can I suppress this warning? / Does it matter?
> 

You can suppress the warning by ensuring that every possible /foo/bar
URL path belongs to at most one SVNPath/SVNParentPath <Location>
scope.  I'm not familiar enough with httpd internals to answer the
second question.

> Things I previously tried:
> 
> 1. Per https://groups.google.com/forum/#!topic/subversion_users/kQNOHEYjjvs
> 
> I grepped all files in /etc/httpd to check. I do not have any nested
> Location blocks in my config.
> 

As above, it is not the <Location> blocks that are nested but the URLs:

<Location /foo>
  SVNPath /x
</Location>
⋮
<Location /foo/bar>
  SVNPath /y
</Location>

> 2. Again per
> https://groups.google.com/forum/#!topic/subversion_users/kQNOHEYjjvs
> 
> I adjusted the Location block to <Location /repos/reponame/>
> 
> and SVNPath /srv/svn/repos/reponame to SVNPath /srv/svn/repos/reponame/
> 
> (i.e. adding a trailing slash).
> 
> But this did not remove the warning, AND it meant that a svn clients now
> show an error accessing the repository root:
> 
> > $ svn ls 'https://hostname/repos/reponame'
> > svn: E175002: Unable to connect to a repository at URL
> > 'https://hostname/repos/reponame'
> > svn: E175002: The OPTIONS request returned invalid XML in the
> > response: XML parse error at line 1: no element found
> > (https://hostname/repos/reponame)
> >
> > and
> >
> > $ svn ls
> > 'https://cardiosvn.fmrib.ox.ac.uk/repos/crodgers/'                                                      
> >  
> > svn: E175002: Unable to connect to a repository at URL
> > 'https://hostname/repos/reponame'
> > svn: E175002: The OPTIONS request returned invalid XML in the
> > response: XML parse error at line 1: no element found
> > (https://hostname/repos/reponame)
> >
> >
> Note that the two svn ls commands both send a URL to the server (seen in
> the access_log) WITHOUT the trailing slash.

Yes, Subversion internally always strips trailing slashes.  (This
actually happens in the client before it calls into the libraries.)  That's
why adding the trailing slash breaks the repository root URL: it makes
the Location block not match it.

HTH

Daniel

Mime
View raw message