Я перехожу с Visual SVN на компьютере с Windows на SVN, обслуживаемый через Apache на компьютере с Linux. Пока что в основном успешно. Я могу получить доступ к репозиториям через svn
в командной строке с нескольких компьютеров и просматривать содержимое репозитория, если в веб-браузер введу полный URL-адрес отдельного репозитория. Это также правильно требует аутентификации.
Однако, когда я захожу в корневой каталог (/svn
) в браузере, я получаю список пустых репозиториев. Я нашел много сообщений в Интернете о ситуации, когда листинг заблокирован, то есть вместо листинга вы получаете HTTP 403, но это , а не мой случай. Я получаю список - он просто оказался пустым. Это показывает в браузере как правильно сформированную страницу без тегов между <ul></ul>
, которая будет содержать содержимое, и это показывает в журналах Apache как успешный ответ (HTTP 200).
Итак, вопрос в том, почему это происходит и как это исправить?
Конфигурация:
<VirtualHost *:80>
ServerName svn.example.com
Alias /svn /var/lib/svn
<Location /svn>
DAV svn
SVNParentPath "/var/lib/svn/"
SVNListParentPath On
AuthType Basic
AuthName "My Software Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
RedirectMatch ^/$ /svn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
На этом компьютере имеется несколько виртуальных хостов. Я показал только раздел для хоста SVN.
Это HTML-код, возвращаемый при переходе к svn.example.com/svn
в браузере (после аутентификации):
<html><head><title>Collection of Repositories</title></head>
<body>
<h2>Collection of Repositories</h2>
<ul>
</ul>
<hr noshade><em>Powered by <a href="http://subversion.apache.org/">Apache Subversion</a> version 1.9.5 (r1770682).</em>
</body></html>
Перед добавлением раздела SVNListParentPath on
я получил бы вместо него HTTP 403, и, чтобы подчеркнуть, это тот случай, который я вижу чаще всего здесь и в других местах. Но это не мой случай.