You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Itamar O <it...@gmail.com> on 2010/02/11 05:31:23 UTC

Fwd: Serving internal SVN path via Apache

Relocating the question to the correct mailing list + clarification:

I am not talking about serving multiple repositories with SVNParentPath.
I have a single repository with the following layout:
root (@ /var/svn/repos)
|- projA
|- projB
|- ...

Each project has its own virtual host on Apache,
with its own DNS's (e.g. www.projA.com & svn.projA.com).

I want that the svn.projA.com virtual host will be directed to root/projA,
so that users of projA SVN are not even aware of other projects.

Is this possible?

Thanks,
Itamar O.

---------- Forwarded message ----------
From: Itamar O <it...@gmail.com>
Date: Wed, Feb 10, 2010 at 11:00 PM
Subject: Serving internal SVN path via Apache
To: dev@subversion.apache.org


Is there a way to configure Apache to serve a "scoped" repository?
e.g., if my repository root is at /var/svn/repos,
and I have top-level project-structure,
I want something like:
<Location /projA>
  DAV svn
  SVNPath /var/svn/repos/projA
  # (this doesn't work..)
  # Maybe something like "SVNPath /var/svn/repos" & "SVNScope projA" ?
</Location>

Thanks,
Itamar O.

Re: Fwd: Serving internal SVN path via Apache

Posted by Neels J Hofmeyr <ne...@elego.de>.
Itamar O wrote:
> Thanks Neels,
> Just tried that.
> When accessing svn.proja.com <http://svn.proja.com> from a browser it
> worked fine.
> But checkout & list on svn.proja.com <http://svn.proja.com> failed with
> the message:
> "/svn/projA/!svn/vcc/default path not found"

Heh, of course, sorry for the stupid suggestion: the client needs to know
the server's root URL. That's not because it needs access to the root of the
file tree stored *in* your repository, but because it needs access to the
proper communication interfaces, which work relative to the repository root.
Can't work.

So I guess the only way is that svn.proja.com actually points to a
repository root, which would imply that you need a separate repository per
project.

At apache.org, we have repos URLs like
http://svn.apache.org/repos/asf/<project-name>/
(e.g. 'httpd', 'subversion', ...)

You decide. :)

~Neels


> 
> Any ideas?
> 
> On Thu, Feb 11, 2010 at 2:27 PM, Neels J Hofmeyr <neels@elego.de
> <ma...@elego.de>> wrote:
> 
>     Itamar O wrote:
>     > Relocating the question to the correct mailing list + clarification:
>     >
>     > I am not talking about serving multiple repositories with
>     SVNParentPath.
>     > I have a single repository with the following layout:
>     > root (@ /var/svn/repos)
>     > |- projA
>     > |- projB
>     > |- ...
>     >
>     > Each project has its own virtual host on Apache,
>     > with its own DNS's (e.g. www.projA.com <http://www.projA.com>
>     <http://www.projA.com> &
>     > svn.projA.com <http://svn.projA.com> <http://svn.projA.com>).
>     >
>     > I want that the svn.projA.com <http://svn.projA.com>
>     <http://svn.projA.com> virtual host will
>     > be directed to root/projA,
>     > so that users of projA SVN are not even aware of other projects.
>     >
>     > Is this possible?
> 
>     What comes to my mind is a URL rewrite in apache before it hits the DAV
>     (google for some beginners' tutorial for mod_rewrite). i.e. httpd-wise
>     redirect svn.proja.com <http://svn.proja.com> to
>     your.main.server/repos/sub/folder/proja.
> 
>     Not sure if there will be side problems appearing. Technically, the
>     user is
>     then via mod_rewrite not able to ask for URLs other than below
>     proja/, while
>     the repository would still allow that if any got through.
> 
>     It's hacky ;)
>     Not sure if there's a better way other than having dedicated
>     repositories
>     per project (which is also an option).
> 
>     ~Neels
> 
> 
>     >
>     > Thanks,
>     > Itamar O.
>     >
>     > ---------- Forwarded message ----------
>     > From: *Itamar O* <itamarost@gmail.com <ma...@gmail.com>
>     <mailto:itamarost@gmail.com <ma...@gmail.com>>>
>     > Date: Wed, Feb 10, 2010 at 11:00 PM
>     > Subject: Serving internal SVN path via Apache
>     > To: dev@subversion.apache.org <ma...@subversion.apache.org>
>     <mailto:dev@subversion.apache.org <ma...@subversion.apache.org>>
>     >
>     >
>     > Is there a way to configure Apache to serve a "scoped" repository?
>     > e.g., if my repository root is at /var/svn/repos,
>     > and I have top-level project-structure,
>     > I want something like:
>     > <Location /projA>
>     >   DAV svn
>     >   SVNPath /var/svn/repos/projA
>     >   # (this doesn't work..)
>     >   # Maybe something like "SVNPath /var/svn/repos" & "SVNScope projA" ?
>     > </Location>
>     >
>     > Thanks,
>     > Itamar O.
>     >
> 
> 


Re: Fwd: Serving internal SVN path via Apache

Posted by Itamar O <it...@gmail.com>.
Thanks Neels,
Just tried that.
When accessing svn.proja.com from a browser it worked fine.
But checkout & list on svn.proja.com failed with the message:
"/svn/projA/!svn/vcc/default path not found"

Any ideas?

On Thu, Feb 11, 2010 at 2:27 PM, Neels J Hofmeyr <ne...@elego.de> wrote:

> Itamar O wrote:
> > Relocating the question to the correct mailing list + clarification:
> >
> > I am not talking about serving multiple repositories with SVNParentPath.
> > I have a single repository with the following layout:
> > root (@ /var/svn/repos)
> > |- projA
> > |- projB
> > |- ...
> >
> > Each project has its own virtual host on Apache,
> > with its own DNS's (e.g. www.projA.com <http://www.projA.com> &
> > svn.projA.com <http://svn.projA.com>).
> >
> > I want that the svn.projA.com <http://svn.projA.com> virtual host will
> > be directed to root/projA,
> > so that users of projA SVN are not even aware of other projects.
> >
> > Is this possible?
>
> What comes to my mind is a URL rewrite in apache before it hits the DAV
> (google for some beginners' tutorial for mod_rewrite). i.e. httpd-wise
> redirect svn.proja.com to your.main.server/repos/sub/folder/proja.
>
> Not sure if there will be side problems appearing. Technically, the user is
> then via mod_rewrite not able to ask for URLs other than below proja/,
> while
> the repository would still allow that if any got through.
>
> It's hacky ;)
> Not sure if there's a better way other than having dedicated repositories
> per project (which is also an option).
>
> ~Neels
>
>
> >
> > Thanks,
> > Itamar O.
> >
> > ---------- Forwarded message ----------
> > From: *Itamar O* <itamarost@gmail.com <ma...@gmail.com>>
> > Date: Wed, Feb 10, 2010 at 11:00 PM
> > Subject: Serving internal SVN path via Apache
> > To: dev@subversion.apache.org <ma...@subversion.apache.org>
> >
> >
> > Is there a way to configure Apache to serve a "scoped" repository?
> > e.g., if my repository root is at /var/svn/repos,
> > and I have top-level project-structure,
> > I want something like:
> > <Location /projA>
> >   DAV svn
> >   SVNPath /var/svn/repos/projA
> >   # (this doesn't work..)
> >   # Maybe something like "SVNPath /var/svn/repos" & "SVNScope projA" ?
> > </Location>
> >
> > Thanks,
> > Itamar O.
> >
>
>

Re: Serving internal SVN path via Apache

Posted by Neels J Hofmeyr <ne...@elego.de>.
Sebastian Grewe wrote:
> If you have svn.proja.com available to serve the single repository
> proj-a the use <Location /> instead of Proj-a. That way that virtualhost
> only serves one repository wihout users suspecting additional repositories.

Which implies to have separate repositories per project, yes. I think the
point was that there is one large combined repository, not separate ones...

~Neels

> 
> That's how I set it up on my sites.
> 
> Cheers,
> Sebastian


Re: Fwd: Serving internal SVN path via Apache

Posted by Neels J Hofmeyr <ne...@elego.de>.
Itamar O wrote:
> Relocating the question to the correct mailing list + clarification:
> 
> I am not talking about serving multiple repositories with SVNParentPath.
> I have a single repository with the following layout:
> root (@ /var/svn/repos)
> |- projA
> |- projB
> |- ...
> 
> Each project has its own virtual host on Apache,
> with its own DNS's (e.g. www.projA.com <http://www.projA.com> &
> svn.projA.com <http://svn.projA.com>).
> 
> I want that the svn.projA.com <http://svn.projA.com> virtual host will
> be directed to root/projA,
> so that users of projA SVN are not even aware of other projects.
> 
> Is this possible?

What comes to my mind is a URL rewrite in apache before it hits the DAV
(google for some beginners' tutorial for mod_rewrite). i.e. httpd-wise
redirect svn.proja.com to your.main.server/repos/sub/folder/proja.

Not sure if there will be side problems appearing. Technically, the user is
then via mod_rewrite not able to ask for URLs other than below proja/, while
the repository would still allow that if any got through.

It's hacky ;)
Not sure if there's a better way other than having dedicated repositories
per project (which is also an option).

~Neels


> 
> Thanks,
> Itamar O.
> 
> ---------- Forwarded message ----------
> From: *Itamar O* <itamarost@gmail.com <ma...@gmail.com>>
> Date: Wed, Feb 10, 2010 at 11:00 PM
> Subject: Serving internal SVN path via Apache
> To: dev@subversion.apache.org <ma...@subversion.apache.org>
> 
> 
> Is there a way to configure Apache to serve a "scoped" repository?
> e.g., if my repository root is at /var/svn/repos,
> and I have top-level project-structure,
> I want something like:
> <Location /projA>
>   DAV svn
>   SVNPath /var/svn/repos/projA
>   # (this doesn't work..)
>   # Maybe something like "SVNPath /var/svn/repos" & "SVNScope projA" ?
> </Location>
> 
> Thanks,
> Itamar O.
>