mod_authz_svn Explizites Repository
Um die Rechte für ein SVN Repository auf einem Server mit vielen Repositories mit möglichst wenig aufwand zu verwalten benutzt man authz. Dumm nur, wenn dieses Repository unter mehreren Adressen zu erreichen ist.
SVN benutzt, wenn es innerhalb eines Apache läuft, zur Rechtevergabe unterhalb eines Repositories das Apache authz ("Authorization") framework. Ein solches File sieht folgendermaßen aus:
[repository:/some/directory] user=rw *=r
Normalerweise alles gut und schön, denn das so regulierte Verzeichnis liegt wenn es nach SVN ginge ziemlich genau unter
http://example.com/svn/repository/some/directory/
Wenn das ganze jetzt aber parallel noch unter
http://repository.svn.example.com/some/directory/
zu erreichen sein soll, und man nicht noch ein zweites authz file pflegen möchte, muss man SVN beibringen, dass repository.svn.example.com zu dem entsprechenden repository im authz-File gehört.
Leider geht das nicht von Haus aus, denn SVN bestimmt den repositorynamen anhand des ersten verzeichnisses nach dem master-repository-pfad (SVNparentPath). Daher erlaubt der angehängte patch es, für eine Location ein SVN Authz Repository explizit anzugeben, insbesonder auch wenn statt SVNParentPath ein normaler SVNPath benutzt wird.
Noch ein paar schlagwörter, dass man das ganze findet: SVN, Apache, Authz, force authz repository, svn authz repository override, svn repository in root directorty, etc...
Produktiv im Einsatz ist das ganze auf "giana", dem MPI-SVN-Server: https://giana.mpi-sb.mpg.de/DS/free... a.k.a. https://svn.freepastry.org/ (Freepastry ist eine Distributed-Hash-Table-Implementation, wie sie für Peer2Peer Anwendungen benutzt wird)