Я недавно (сегодня!) Переместил свой репозиторий 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