Eu odeio ver minha própria pergunta definhando na lista de perguntas não respondidas, então aqui está o que fizemos:
-
Na nossa configuração principal do servidor, temos:
<Location /svn/> SVNParentPath /srv/source/svn/repos </Location> -
Adotamos o seguinte
mod_macropara replicar esse comportamento para novos repositórios:<Macro LegacySubversionRepo $name> # Override SVNParentPath block in main vhost config. RewriteRule ^/svn/$name /repo/$name [PT] <Location /repo/$name> Order deny,allow Allow from all Use LdapAuth \ "$name svn repository" \ /srv/source/svn/htpasswd DAV svn SVNPath /srv/source/svn/repos/$name AuthzSVNAccessFile /srv/source/svn/authz SVNAutoversioning On Satisfy Any </Location> </Macro>O
RewriteRulepermite que a configuração do repositório substitua o<Location /svn/>na configuração principal que, de outra forma, corresponderia à solicitação.
Com isso, torna-se relativamente fácil adotar a configuração de autorização e autenticação por repositório (em vez do arquivo global htpasswd usado aqui).