Подтвердить что ты не робот

Subversion E160013: '/svn/xxx/! Svn/me' путь не найден * ошибка

Недавно я обновил bitnami trac stack (от 0.12.2-5 до 0.12.3) на нашем сервере и после реконфигурации всех скриптов и репозиториев все выглядело хорошо, Мне удалось войти в систему и просмотреть исходный код и просмотреть репозиторий с помощью Trac. Я тестировал исходный код, и я мог просматривать репозиторий через visualsvn и черепаху.

Но когда дело дошло до совершения внесенных изменений, возникла проблема. Я получил исключение, которое не найдено. Заглянув в журнал ошибок на сервере, все, что я мог видеть, было то, что все запросы GET были прекрасны, но POST имели неправильный URL (!svn/me был добавлен в конце).

После нескольких часов работы с журналами и конфигурациями, поскольку Subversion была обновлена ​​с 1,6 до 1,7, это включает новый протокол HTTPv2. Этот протокол каким-то образом повлиял на доступ к репозиториям SVN, но, похоже, влияет только на POST, а не GET.

Обход

Способ отключения этой новой функции заключается в изменении конфигурации mod_dav_svn следующим образом:

DAV svn
...
SVNAdvertiseV2Protocol Off

Затем проблема была решена, и мы могли снова проверить наши изменения.

4b9b3361

Ответ 1

Я решил это, отключив протокол HttpV2. Чтобы отключить его, вы можете вносить изменения в расположение конфигурации mod_dav_svn следующим образом:

DAV svn ... SVNAdvertiseV2Protocol Off

Ответ 2

Просто хотел добавить немного к этому "вопросу". Я получил сообщение об ошибке после того, как я переместил сервер SVN с одной машины на другую. Ошибка 500 и "! Svn/me" была добавлена ​​в конец URL-адреса сервера SVN, ничего не зафиксировалось, а все остальное работало. После нескольких часов работы с множеством вещей выясняется, что учетная запись пользователя VisualSVN/Apache не имела доступа к записи в каталог SVN репо. Поэтому я дал учетной записи изменить/написать доступ к каталогу SVN-репозиториев и выполнить работу. Что на самом деле имеет смысл, потому что все, кроме Commit, работает. Не уверен, что это будет полезно для других, но я думал, что буду публиковать его здесь независимо. Спасибо за вопрос, помогли мне понять, где я ошибся.

Ответ 3

Это была проблема https://trac-hacks.org, которая обслуживает Trac в / и Subversion в /svn. Первоначально проблема была решена путем отключения SVNAdvertiseV2Protocol. Позже проблема была решена путем обслуживания Trac от /trac и перенаправления / на /trac. Однако это решение не было идеальным из-за перенаправления. Другой администратор проекта нашел решение добавить:

Alias   /svn            /var/www/000-default/svn

Я не уверен, почему это работает, но оно эффективно и не требует перенаправления и обслуживания Trac из /trac.

Ответ 4

Мой репозиторий имеет около 700 000 файлов и 660 папок. У меня была такая же ошибка, и я был уверен, что SVNAdvertiseV2Protocol Off - неправильный путь. Добавление

<IfModule dav_svn_module>
    SVNInMemoryCacheSize 262144
    SVNCacheFullTexts on
    SVNCacheTextDeltas on
</IfModule>

to /etc/apache2/mods-enabled/dav_svn.conf исправил проблему для меня.