On Thu, 22 Dec 2011 22:58:44 +0100
Pierre Berthier <pierre.berthier_at_ini.phys.ethz.ch> wrote:
> Hi
>
> after upgrading a SVN server from 1.6 to 1.7.2 (r1207936), I am
> getting this error message when committing:
>
> svn: E175002: Commit failed (details follow):
> svn: E175002: Server sent unexpected return value (500 Internal Server
> Error) in response to POST request for '/repos/svntest/!svn/me'
>
> The corresponding error on the server is:
> (20014)Internal error: Can't open file '/srv/svn/repos/!svn/format':
> No such file or directory
>
> My apache configuration on the server includes:
>
> <Location /repos/>
> DAV svn
> SVNParentPath /srv/svn/repos/
> SVNListParentPath on
> ...
> </Location>
>
(Thanks to Daniel Shahaf for his advice in an earlier email)
I have now reduced my configuration to two variations, the following
works fine:
<Location /repos/>
DAV svn
SVNParentPath /srv/svn/repos/
SVNListParentPath on
AuthzSVNAccessFile /etc/apache2/svnaccess.conf
AuthzSVNAnonymous Off
AuthzSVNAuthoritative On
SVNPathAuthz On
AuthType Basic
AuthName "Login required"
AuthBasicProvider ldap
AuthLDAPURL
ldap://......
Require valid-user
</Location>
With some repositories in /srv/svn/repos/:
$ ls -l /srv/svn/repos/
drwxr-xr-x 6 wwwrun www 4096 2011-12-22 21:14 svntest
drwxr-xr-x 6 wwwrun www 4096 2011-12-22 22:05 svntest2
and the content of /etc/apache2/svnaccess.conf:
$ cat /etc/apache2/svnaccess.conf
[/]
* = rw
Now the following variation does not work: I wanted to disable
path-based authentication in general, and enable it on a per-repository
basis, so I have changed the above config to this (only differences are
the SVNPathAuthz parameters):
<Location /repos/>
DAV svn
SVNParentPath /srv/svn/repos/
SVNListParentPath on
AuthzSVNAccessFile /etc/apache2/svnaccess.conf
AuthzSVNAnonymous Off
AuthzSVNAuthoritative On
SVNPathAuthz Off
AuthType Basic
AuthName "Login required"
AuthBasicProvider ldap
AuthLDAPURL
ldap://......
Require valid-user
</Location>
<Location /repos/svntest/>
SVNPathAuthz on
</Location>
Now this does not work and I get the error messages I have previously
reported. If I comment out the "Location /repos/svntest/" section, it
works again.
I am now wondering if that should be considered a bug at all, or is
this expected behaviour? My rational in setting SVNPathAuthz Off
globally was to save server resources as explained in the svn book
section:
http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd.authz.pathauthzoff
and I thought enabling it again per repository only if needed would at
the end be optimal. It used to work fine with 1.6 (meaning: without
errors), and this problem started with 1.7 so that hints to some kind
of regression (?).
Cheers
Pierre
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pierre Berthier
CIO / Leiter IT
Institute of Neuroinformatics, 55.G.70
University of Zurich and ETH Zurich
Winterthurerstrasse 190, CH-8057 Zurich, Switzerland
Tel: +41 (0)44 63 530 17
Fax: +41 (0)44 63 530 53
Received on 2012-01-05 10:14:08 CET