#apache #svn #webdav
#apache #svn #webdav
Вопрос:
У меня проблема с моим собственным репозиторием Subversion. Вчера это сработало. Но я получил сообщение об ошибке, когда добавлял новый файл сегодня:
svn: репозиторий временно перемещен в ‘main’; пожалуйста, переместите
Список моих действий:
-
/home/user /test# проверка svn https://website.biz/repo/siteweb.com
ОК
-
/home/user/test/siteweb.com/trunk# touch 1.txt
ОК
-
/home/user/test/siteweb.com/trunk# svn добавить 1.txt
-
/home/user/test/siteweb.com/trunk# svn -m «добавление 1.txt » зафиксируйте
Adding trunk/1.txt svn: Commit failed (details follow): svn: Repository moved temporarily to 'main'; please relocate svn: Repository moved temporarily to 'main'; please relocate
Что это, как мне это исправить?
Ответ №1:
svn: репозиторий временно перемещен в ‘something’; пожалуйста, переместите
Это проблема с неправильной настройкой! Вероятно, вы используете модуль dav_svn для доступа к вашему репозиторию SVN. И в директиве ErrorDocument в конфигурации вашего веб-сервера есть глобальное перенаправление. Вы должны переопределить этот параметр для раздела репозитория SVN в конфигурации dav_svn.
Отредактируйте следующий файл: /etc/apache2/mods-enabled/dav_svn.conf
, добавьте директиву «ErrorDocument 404 default» между строками местоположения. Это делает свое дело. Мой конфиг может быть примером для вас:
<Location /svn>
DAV svn
SVNPath /var/svn-repos/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
ErrorDocument 404 default
</Location>
И перезагрузите конфигурацию веб-сервера с помощью следующей команды:
/etc/init.d/apache2 reload
Комментарии:
1. Вы имеете в виду перезапуск /etc/init.d / apache2ctl?
2. совместима ли директива ErrorDocument 404 по умолчанию с Apache 2.2?
Ответ №2:
Если вы получаете это исключение при его извлечении из клиента, будь то клиент командной строки или tigris, это может быть шаблон URL. Например,
http://nhibernate.svn.sourceforge.net/viewvc/nhibernate будет работать, если вы замените viewvc на svnroot, например
Комментарии:
1. Для меня это было заменить ваш ‘svnroot’ просто на ‘svn’ следующим образом: nhibernate.svn.sourceforge.net/svn/nhibernate
Ответ №3:
Согласно этому потоку, похоже, существует перехват предварительной фиксации, который отправляет это сообщение (кстати, это первое попадание, когда я прошу Google, чтобы репозиторий svn временно переместился в ‘main’).
Если только вы не добавили этот хук (при условии, что вы единственный администратор https://website.biz/repo/siteweb.com ), у вас могут возникнуть серьезные проблемы…
С другой стороны, это также может быть проблемой конфигурации apache. В таком случае, я предполагаю, что мой связанный поток вам тоже поможет.
Комментарии:
1. Спасибо. Но там есть только шаблоны. после фиксации.tmpl после revprop-изменения.tmpl предварительная фиксация.tmpl предварительная revprop-изменение.tmpl начало фиксации.tmpl постблокировка.tmpl постблокировка.tmpl предварительная блокировка.tmpl предварительная разблокировка.tmpl
2. @dba.in.ua: вы прочитали весь поток? они также говорят о проблемах с конфигурацией apache…
Ответ №4:
Эта ошибка также может быть вызвана неправильно настроенным клиентом.
Это случилось со мной, потому что у меня были пробелы, а не запятые, в http_proxy_exceptions
в ~/.subversion/servers
.
http_proxy_exceptions = *.foo.com *.bar.com
было неверно, но
http_proxy_exceptions = *.foo.com, *.bar.com
сработало. (Возможно, первая форма работала в прошлом.)