З огляду на типову конфігурацію Subversion / Apache з використанням SVNParentPath, із сховищами, розміщеними під /svn/
таким:
<Location /svn>
DAV svn
SVNParentPath /srv/source/svn/repos
SVNReposName "Subversion Repository"
AuthzSVNAccessFile /srv/source/svn/authz
Satisfy Any
AuthType Basic
AuthBasicProvider file
AuthName "Subversion Repository"
AuthUserFile /srv/source/svn/htpasswd
Require valid-user
</Location>
Чи є спосіб змінити цю конфігурацію для конкретних сховищ без необхідності розміщення їх на іншому шляху? Тобто, чи можна додати такий Location
блок, як цей ...
<Location /svn/my_special_repo>
SVNPath /srv/source/svn/repos/my_special_repo
AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz
</Location>
... і чи може це змінити конфігурацію, надану в
Location
блоці для /svn
? Мої спроби зробити це з вищевказаною конфігурацією були зіткнуті з дивними та непослушними помилками в журналі помилок Apache, наприклад:
[Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120]
(20014)Internal error: Can't open file '/srv/source/svn/repos/svn/format':
No such file or directory
Все це, здається, є способом mod_dav_svn, який говорить мені, що я не можу робити те, що намагаюся зробити. Я відкритий для рішень чи альтернатив!
EDIT : Ну, я можу бачити, що це питання викликало чимало хвилювання серед читачів. Для запису те, що я можу в кінцевому підсумку зробити, це генерувати конфігурації для кожного репозиторію для всіх наших існуючих сховищ, а потім відмовитися від SVNParentPath
базованої конфігурації. Конфігурація Apache per-repo мінімальна, особливо використовуючи щось на зразок mod_macro ; важка частина буде розщеплювати глобальний файл authz. Якщо ви робили це раніше, вдячні поради.