You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Floris van der Ploeg <fv...@xs4all.nl> on 2008/03/18 19:37:29 UTC

Apache and SVN subdirectories

Is there a way to have apache/svn support multiple subdirectories under one
root?

Let me explain;

 

I've got Apache and SVN running and I want multiple directories that will
contain multiple repositories. For example, my httpd.conf contains this:

    <Location /svn> 

        Dav svn

        SVNParentPath D:\Repositories

 

        AuthType Basic 

        AuthName " Repositories"

        AuthUserFile D:\Configuration\Security\svn.passwd

        Require valid-user 

    </Location>

 

At the path on my PC (D:\Repositories) I've got multiple subdirectories, eg.
"Archive_1", "Archive_2" and "Current"

Thus having this directory tree:

D:\Repositories\Archive_1

D:\Repositories\Archive_2

D:\Repositories\Current

 

I want to create repositories at these paths. So I execute:

svnadmin create D:\Repositories\Current\Repo_v02

svnadmin create D:\Repositories\ Archive_2\Repo_v01

etc.

 

All is fine so far. But whenever I want to do a checkout or whatever using
the URL, it fails:

svn checkout http://srv001/svn/Current/Repo_v02

(svn: Could not open the requested SVN filesystem) Also browsing the
repository using internet explorer fails, giving a new entry in my apache
error log:

 

[Tue Mar 18 20:33:58 2008] [error] [client 192.168.131.1] (20014)Error
string not specified yet: Can't open file
'D:\\Repositories\\Current\\format': The system cannot find the file
specified. 

 

So is there a way to configure SVN/Apache in a way to support this, without
having to define every subdirectory (D:\Repositories\Current, etc.) in the
httpd.conf??

 

Thanks in advance.

 

Kind regards,

Floris van der Ploeg

 

 


Re: Apache and SVN subdirectories

Posted by John Peacock <jo...@havurah-software.org>.
Matthew Pounsett wrote:
> SVNParentPath needs to refer to a repository, so in order to have 
> different repositories here you'll need something like this:

Ummm, no.  SVNParentPath points to a directory *containing* repositories 
(hence the "Parent" part).  You can have multiple repositories 
underneath a single SVNParentPath, but only directly under (i.e. no deep 
directory layouts).

To the original poster, you would have to have multiple Location stanzas:

<Location /svn/Current/>
    Dav svn
    SVNParentPath D:\Repositories\Current\
    Authtype...
</Location>

<Location /svn/Archive1/>
    Dav svn
    SVNParentPath D:\Repositories\Archive1\
    Authtype...
</Location>

<Location /svn/Archive2/>
    Dav svn
    SVNParentPath D:\Repositories\Archive2\
    Authtype...
</Location>

But somehow, reading between the lines of your request, I think you 
aren't using Subversion properly.  Normally, you would never "archive" a 
repository, unless you have one project per repository and when you 
retire a project, you physically move the repository out of the main 
listing.

HTH

John

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Apache and SVN subdirectories

Posted by Matthew Pounsett <ma...@conundrum.com>.
On 18-Mar-2008, at 15:37 , Floris van der Ploeg wrote:

> Is there a way to have apache/svn support multiple subdirectories  
> under one root?
> Let me explain;
>
> I’ve got Apache and SVN running and I want multiple directories that  
> will contain multiple repositories. For example, my httpd.conf  
> contains this:
>     <Location /svn>
>         Dav svn
>         SVNParentPath D:\Repositories
>
>         AuthType Basic
>         AuthName " Repositories"
>         AuthUserFile D:\Configuration\Security\svn.passwd
>         Require valid-user
>     </Location>

SVNParentPath needs to refer to a repository, so in order to have  
different repositories here you'll need something like this:

<Location /svn/Current/Repo_v02>
    Dav svn
    SVNParentPath D:\Repositories\Current\Repo_v02\
    Authtype...
</Location>

And then do the same for each of your other repositories.