Существуют разные способы сделать это в зависимости от того, чего именно вы хотите достичь, и настройки, которую вы используете.
Svnserve
Если вы используете svnserve
, в каждом репозитории есть файл с именем svnserve.conf
, где вы можете определить используемый файл паролей. Вы можете поместить файл паролей в корень сервера и указать там все свои репозитории.
Это будет выглядеть так:
c:\svn\passwd
c:\svn\project1\conf\svnserve.conf
c:\svn\project2\conf\svnserve.conf
Тогда в обоих svnserve.conf
файлах есть раздел вроде
[general]
password-db = c:\svn\passwd
должен сделать свое дело и все равно будет хранить разные ACL (authz
файл) для каждого репозитория
Apache
Это немного сложнее, но
<Location /project1>
DAV svn
SVNPath C:/Repositories/project1
AuthType Basic
AuthName "Subversion Project1 repository"
AuthUserFile c:/etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile c:/etc/svn-acl
</Location>
<Location /project2>
DAV svn
SVNPath C:/Repositories/project2
AuthType Basic
AuthName "Subversion Project2 repository"
AuthUserFile c:/etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile c:/etc/svn-acl
</Location>
Пока вы используете один и тот же authuserfile для каждого местоположения с поддержкой SVN, вы получите свой результат.