0

There are many SVN repositories all hosted under the same directory. I would like to expose one of them (extra) to people with different credentials.

Why does the following apache configuration does not work for http://example.net/svn/extra but works for all the other SVN repos like http://example.net/svn/proj1.

The error I get when I attempt a checkout of http://example.net/svn/extra is:

[error] [client x.x.x.x] (20014)Internal error: Can't open file '/home/trac/svn/svn/format': No such file or directory
[error] [client x.x.x.x] Could not fetch resource information.  [500, #0]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]

Please note that subversion tries to access /home/trac/svn/svn/format. Where does the svn/svn path come from?

This is the configuration:

    <Location /svn/extra>
            DAV svn
            SVNPath /home/trac/svn/extra
            AuthType Digest
            AuthName "DevsExtra"
            AuthUserFile /home/trac/devs-extra.digest
            Require valid-user
    </Location>

    <Location /svn>
            DAV svn
            SVNParentPath /home/trac/svn/
            AuthType Digest
            AuthName "Devs"
            AuthUserFile /home/trac/devs.digest
            Require valid-user
    </Location>
0

Rather than using multiple Apache locations to handle authentication, I'd suggest taking a look at mod_authz_svn for Apache since it's designed for access control on a per-path basis. This way you can do something like the following to give a subset of developers access to that folder:

[groups]
devs-extra = bob, bill, jim, sally

[svn:/extra]
@devs-extra = rw

http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.