svn: репозиторий временно перемещен в ‘main’; пожалуйста, переместите

#apache #svn #webdav

#apache #svn #webdav

Вопрос:

У меня проблема с моим собственным репозиторием Subversion. Вчера это сработало. Но я получил сообщение об ошибке, когда добавлял новый файл сегодня:

svn: репозиторий временно перемещен в ‘main’; пожалуйста, переместите

Список моих действий:

  1. /home/user /test# проверка svn https://website.biz/repo/siteweb.com

    ОК

  2. /home/user/test/siteweb.com/trunk# touch 1.txt

    ОК

  3. /home/user/test/siteweb.com/trunk# svn добавить 1.txt

  4. /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, например

https://nhibernate.svn.sourceforge.net/svnroot/nhibernate

Комментарии:

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
  

сработало. (Возможно, первая форма работала в прошлом.)

Ответ №5:

Я получил эту ошибку при добавлении прокси-сервера

введите описание изображения здесь