You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Bernhard Fischer <bf...@abenteuerland.at> on 2008/03/01 09:31:07 UTC

Re: mod_dav_svn and mod_userdir

On Friday 29 February 2008, Ryan Schmidt wrote:
> On Feb 29, 2008, at 06:42, Bernhard Fischer wrote:
> > I'm running an apache web server with serveral 100 users having
> > their web
> > directory located in /home/*/public_html and I provide svn
> > repositories to
> > them which they can access by WebDav.
> > The repository is a central one which has "sub-repositories", one
> > for each
> > user. Dav acces is done using the URL https://..../svn/<username>.
>
> That doesn't really make sense... there is no such thing as a
> "subrepository". Perhaps you have a normal filesystem directory, and
> it contains a number of repositories. But repositories cannot contain
> other repositories.
>

Yes, it is a (central) filesystem repository and there are repositories for 
every user in it. Access is controlled by LDAPAuth and the "access/control" 
file. I just used the term "subrepository" to emphasize that users have their 
repositories in it.

> > What I would like to do is to provide the repositories through
> > mod_userdir.
> > More exactly this meens that every user should have his own repository
> > located within his home directory (e.g. /home/*/SVN) and should be
> > accesible
> > by https://...../~<username>/SVN) instead of having one central
> > repository.
> >
> > Does anybody know how this could be done?
> > I tried some configuration variants but I figured out that the SVNPath
> > configuration directive does not support the "*" like e.g. the
> > Directory
> > directive.
>
> I tried this a couple years ago and ran into insurmountable
> obstacles. Not sure if anything has changed since then.
>
> > What I could do is to make an entry for each single user in the
> > httpd.conf but
> > as there are several 100 users this is not really an option.
>
> I would suggest you don't store the repositories themselves in the
> user's home directory. Instead, store them in a single central
> directory. Serve them using SVNParentPath. You can put symlinks of
> the repository into each user's home directory somewhere if you want
> users to have easy access to them.

Well, IMO it would make sense to have independent repositories in the users' 
home directories. It makes system administration easier.
(*) Backup an restore scenarios are easier, because you may not take care on 
the separate central repository -- just backup homedirs.
(*) Adding new users would not require to modify the "access/control" file.
(*) No mod_rewrite actions would be required. (That's not necessary by default 
but I do it for usability purpose.../~<user>/svn => /svn/<user>)

Bernhard