[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Configuration tips - hierarchical repositories

From: Mauricio Culibrk <mauricio_at_test.infohit.si>
Date: 2006-03-25 22:46:38 CET

Hi again....

Well... after some more testing I ended up on the same problem...

As an update to my previous message...

svn ls http://url.to.svn/repos/groupX IS working...

The real problem is that I would like to have the list of repositories
available in TortoiseSVN when issuing the svn list on the "root"
repository... otherwise there is no "nice" way to know what
repositories are available....

So, yes, the SVNListParentPath on is nice in a browser - this just
lists the files in the "parent" folder...

So, basically, the problem is the same - how to setup a FUNCTIONING
<Location>/<Directory> setup in Apache without having to define the
<Location> directive for each and every (new) repository under the
"virtual root" repository???

if I setup something like this

<LocationMatch "^/repos$">
    SVNPath /mnt/svn/root

<LocationMatch "^/repos/.+">
    SVNParentPath /mnt/svn/root (or /mnt/svn becaouse of links)

or anything with regular expression or any other form of "wildchars"
the mod_dav_svn is throwing errors as "not found" because uses EXACT
STRING specified in Location/LocationMatch!
For example:

  URL /repos/.+/repos/!svn/bc/20/PM: No such file or directory

So, the Apache setup should be such that there is no "special
characters" in the Location directive.... ok, then I tried with
Rewrite and Redirect to "separate" the requests for the "root"
repository to get the "repository list" and access to the real
repositories but... again... no fun! :(

Any suggestions/ideas are *very* welcome...

On Sat, 25 Mar 2006 21:28:15 +0100
  Ryan Schmidt <subversion-2006Q1@ryandesign.com> wrote:
> On Mar 25, 2006, at 20:42, Mauricio Culibrk wrote:
>> I would like to organize and access my repository structure in a
>> hierarchical way. Besides that, I would like to have separate
>> repositories per project groups. Somethink like this:
>> url.of.svn/repos *
>> +---- group1 *
>> | +--- dir1
>> | +--- dir2
>> +---- group2 *
>> | +--- dir1
>> | +--- dir2
>> | +--- dir3
>> +---- group3 *
>> | +--- dir1
>> | +--- dir2
>> etc
>> * denotes actualy repositories
> [snip]
>> Some explanations about the currently working svn:// setup:
>> I setup the "root" repository in /mnt/svn/root (svnadmin create /
>> mnt/svn/root) and the "sub"repositories in /mnt/svn/root/group1, /
>> mnt/root/group2... (acctually, in /mnt/svn/group1, group2... with
>> links in /mnt/svn/root pointing to them)
>> Then I created directories (using svn - well, tortoisesvn) for each
>> "subrepository" in the root repository. In this way I have
>> identical structure in the root repository and file system.
>> This is working as expected by simply "mapping" the request url to
>> real repositories....
>> svn://url.to.svn/ "selects" the root repository showing versioned
>> "directories" while browsing (from the GUI of tortoisesvn, repo
>> browser for example) to svn://url.to.svn/group1 "selects" the
>> "underlaying" repository /mnt/svn/root/group1
> You have made this very complicated when it is really very simple.
>First, do not svnadmin create /mnt/svn/root. There's no need for that
> or the virtual directories you've put into it.
> Simply create as many repositories as you like under /mnt/svn. Set
>up Apache this way:
> <VirtualHost *:80>
> ServerName www.example.com
> DocumentRoot /wherever
> RedirectMatch ^/repos$ http://www.example.com/repos/
> <Location /repos/>
> DAV svn
> SVNParentPath /mnt/svn
> SVNListParentPath on
> </Location>
> </VirtualHost>
> SVNListParentPath is available as of Subversion 1.3.0. There is no
> equivalent for svnserve.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Mar 25 22:47:20 2006

This is an archived mail posted to the Subversion Users mailing list.