Назад | Перейти на главную страницу

Почему после переключения svn - (405 METHOD_NOT_ALLOWED) или (500 Internal Server Error)?

Я недавно (сегодня!) Переместил свой репозиторий SVN на свой сервер.

У меня проблемы с выходом из моего нового репо, а также с обновлением моей текущей рабочей копии, чтобы использовать мое новое репо (которое является svnsync копия из моего старого репо), я сделал это, используя:

svn switch --relocate /old/repo/path /new/repo/path

Это сработало, как ожидалось, и привело к распространенной ошибке uuid. Я сначала получил ошибку svn uuid's dont match, поэтому я обновил uuid файл в конфигурации репозитория svn (repo/db/uuid) чтобы отразить старый uuid. Это избавило от этой ошибки.

Все, что ниже, - это мои проблемы, я ничего не могу сделать с моим новым репо (я хочу изменить свою старую рабочую копию, чтобы использовать мое новое репо (которое я создал, а затем svn синхронизировал из моего старого репо на новое). Итак, единственная разница в том, что uuid (который я изменил вручную), ревизия точно такая же (ничего не добавлено и не удалено).

Затем я попытался проверить новую рабочую копию моего репо:
(Сначала создайте новый каталог и попробуйте проверить новое репо):

Ошибка проверки SVN:

# Error after trying to checkout new working copy
# 'svn co http://svn.mydomain.com/repo1 .'
svn: E175002: Server sent unexpected return value (405 METHOD_NOT_ALLOWED) in response to REPORT request for '/newtbg/!svn/me'

Ошибка подключения SVN: (та же ошибка, что и выше)

# Error after 'svn up'
svn: E175002: Server sent unexpected return value (405 METHOD_NOT_ALLOWED) in response to REPORT request for '/newtbg/!svn/me'

SVN commit -m "проверка фиксации"

# Error after ' svn commit -m "test" '
svn: E175002: Server sent unexpected return value (500 Internal Server Error) in response to POST request for '/newtbg/!svn/me'

Кажется, что я что-то не так настроил ?.

Вы можете просмотреть мои настройки конфигурации vhosts здесь: настройка vhost для нескольких репозиториев SVN на одном сервере

Подвести итоги...!
У меня новое репо svn sync'd из моего старого репо. Я переместил URL-адрес рабочей копии на свой новый URL-адрес репозитория svn (svn sw oldUrl newUrl), затем я обновил UUID, чтобы он соответствовал старому репо, чтобы избавиться от UUID's don't match ошибка.

Обновление: забыл упомянуть, я могу получить доступ к своему репо через браузер, используя URL-адрес репо, я отображается с номером версии и файлами репо, поэтому он работает! (я думаю)

добавил мой vhosts.conf:

<VirtualHost *:80>
        ServerName svn.mydomain.com
        ServerAlias svn.mydomain.com
        ErrorLog /var/www/html/log/svn.mydomain.com-log
        <Location "/" >
            DAV svn
            SVNParentPath /ebs/svn/
            SVNListParentPath on
            AuthType Basic
            AuthName "Private - Repositries"
            AuthUserFile /ebs/svn/login/svn-auth-conf
            Require valid-user
       </Location>
</VirtualHost>

ХОРОШО!
Разобрался! .. Проблема заключалась в том, что я стоял за балансировщиком нагрузки (от которого я все равно планировал избавиться). Поэтому я удалил свой экземпляр EC2 из балансировщика нагрузки, и все снова заработало! ..

Поэтому, если у вас возникли эти проблемы, убедитесь, что вы не пользуетесь балансировщиком нагрузки Amazon (или найдите обходной путь).

Все это время я думал, что это проблема SVN, оказалось, что это связано с сервером. Моя настройка SVN была в порядке !.

После того, как я исправил эту проблему, я случайно зафиксировал свой старый репозиторий! Затем, когда я попытался выполнить фиксацию в моем новом репозитории, он не синхронизировался. Так что мне пришлось svnsync sync file:///path/to/repo чтобы снова все синхронизировать !.

В общем, отличная кривая обучения с SVN (новое репо, синхронизация, ошибки и, наконец, успех !!), и надеюсь, что это сэкономит кому-то немного времени !!

Теперь все отлично работает! : D