Как указать репозиторий в apache dav svn?
-
21-08-2019 - |
Вопрос
У меня есть следующая настройка:
<VirtualHost *:80>
ServerName svn.project1.com
<Location />
DAV svn
SVNPath /svn
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName svn.project2.com
<Location />
DAV svn
SVNPath /svn
</Location>
</VirtualHost>
Когда я перехожу к любому http://svn.project1.com/ или http://svn.project1.com/ он дает список каталогов с обоими репозиториями:
Revision 1270: /
* project1/
* project2/
Powered by Subversion version 1.4.4 (r25188)
Как мне заставить оба хоста указывать на свои соответствующие репозитории?
Я хочу иметь возможность использовать URL-адреса, например:
http://svn.project1.com/trunk/
Вместо:
http://svn.project1.com/project1/trunk/
И таким образом предотвратить доступ, например.проект2 из проекта1, а именно:
http://svn.project1.com/project2/
Спасибо!
Решение
Это работает с SVNPath /svn/project#
.Но имейте в виду: я думаю, это работает только в том случае, если у вас действительно есть два отдельных репозитория.Насколько я могу судить по вашей информации, вы используете один репозиторий для обоих проектов.
Другие советы
<Location /svn/>
DAV svn
SVNParentPath "D:\repos"
SVNListParentPath On
AuthName "Subversion repository"
SVNPathAuthz on
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain RAILINC
SSPIOfferBasic On
SSPIUsernameCase lower
SSPIOmitDomain On
AuthzSVNAccessFile "D:\repos\svnaccessfile.txt"
Require valid-user
</Location>
Не уверен, но пробовали ли вы это?
SVNPath /svn/project1/
При использовании
SVNPath /svn/projectX/
должен решить вашу проблему, это обнажит серьезную ошибку в DavSVN.Недостаток в том, что у него проблемы с нахождением в корневом каталоге домена.Получение случайных ошибок регистрации, которые в настоящее время не имеют решения, было такой проблемой, что нам пришлось переключиться с поддомена на подкаталог.