Я настроил Subversion и Apache на моем сервере.
Если я просматриваю его через свой веб-браузер, он работает нормально ( http://svn.host.com/reposname ). Однако, если я делаю проверку на своем компьютере, я получаю следующую ошибку:
Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate
Я проверил журнал ошибок Apache, но он ничего не говорит. (теперь - см. редактировать)
Мои репозитории хранятся в: / var / www / svn / repos /
Мой сайт хранится в / var / www / vhosts / x / ...
Вот файл conf для субдомена:
<Location />
DAV svn
SVNParentPath /var/www/svn/repos/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/auth/svn.htpasswd
Require valid-user
</Location>
Аутентификация работает отлично.
Кто-нибудь знает, что может быть причиной этого?
-- Редактировать
Поэтому я перезапустил apache (снова) и попробовал снова, и теперь он выдает мне сообщение об ошибке, но это не очень помогает. У кого-нибудь есть идея, что это значит?
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information. [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
- Изменить 2
Если я это сделаю, svn info
это не даст ничего полезного:
[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate
Я также попытался сделать локальную проверку ( svn checkout file:///var/www/svn/repos/reposname
), и это прекрасно работает (также отлично работает добавление / принятие). Так что, похоже, это как-то связано с apache.
Некоторая другая информация:
- Я использую CentOs 5.3
- Plesk 9.3
- Subversion, версия 1.6.9 (r901367)
- Редактировать 3
Я пытался переместить репозитории, но это не имело никакого значения.
selinux отключен, так что это не так.
источник
Options +indexes
это не должно делать что-то полезное в SVN месте.Ответы:
У меня было это недавно ... но оказалось, что я забыл URL :)
Одна вещь, которую вы должны сделать, это убедиться, что ваше местоположение SVN не перекрывает любые Apache-обслуживаемые сайты. т. е. если вы установите для DocumentRoot значение / www, а для svn Location - / www / svn ... тогда у вас возникнут проблемы - Apache не будет знать, с чем его следует обслуживать (т. е. специальные обработчики svn или прямой http-обработчик).
Смотрите запись FAQ для этого .
источник
Alias svn /repositories
и затем все настроил<Location /svn/ >
. Проблема была точно такой же, как в ссылке FAQ, хотя таинственным образом она работала в течение месяца, а затем остановилась в среду днем во время чаепития. Если ваш репозиторий находится в «/», то у вас будет совпадение с вашей директивой DocumentRoot.Попробуйте проверить
http://svn.host.com/reposname/
(обратите внимание на косую черту).источник
Проверьте этот веб-сайт: http://www.rkrishardy.com/2009/12/subversion-fix-svn-copy-causes-repository-moved-permanentl/
Вероятно, псевдоним указывает на то же место, что и congfigured, - dav_svn.mod, и между apache и dav_svn существует условие гонки при доступе к репо.
Это лучше объяснить в предоставленной статье
В dav_svn.conf:
В apache_site.conf
источник
У меня есть настройка vhost с моим репозиторием, на
svn.mydomain.com/sites/
моем vhost был блок DocumentRoot и Location. Удаление documentroot решило эту проблему.источник
Я получил эту ошибку, когда я по ошибке поместил репозиторий в html-дерево, обслуживаемое Apache, на моей машине FC14 с RPM-установками Subversion и Apache.
SVNParentPath (в /etc/httpd/conf.d/subversion.conf) должен указывать на каталог вне DocumentRoot.
Я переместил репо, и проблема ушла.
Надеюсь это поможет.
источник
Я знаю, что это старый, но я нашел его в Google, потому что у меня была та же проблема. Убедитесь, что порт 7080 не заблокирован брандмауэром компьютера или сервера
источник
Похоже, что вы не делаете
svn checkout
, а скорееsvn update
в существующем хранилище (?).Если так, сделайте это:
svn switch --relocate http://svn.host.com/reponame
источник
Переехал навсегда? Можете ли вы что-то вроде HTTPFox или что-то еще и убедиться, что Apache выдает правильный код состояния для вашего хранилища (должно быть
200/OK
). Я полагаю, что код состояния301
соответствует URL, который «переместился навсегда», и это звучит так, как говорит клиент svn.источник
http://svn.server.com/repos
), он прекрасно работает, я получаю «РЕПО - Редакция 0: /» и все остальное. Проблема возникает только тогда, когда я делаю заказ.Может быть, немного поздно в разговоре, но я вижу это при использовании псевдонима в конфигурации apache для работы с завершающим символом '/': Alias / svn / path / to / svn /
источник
Вы также должны убедиться, что директива Alias не сопоставлена с местоположением репозиториев SVN. У меня было это недавно, когда у меня было
где псевдоним и директива location применяются к одному и тому же пути.
источник
У меня просто была похожая проблема не при ПРОВЕРКЕ, а когда был сделан COMMIT.
Причина? эта папка "obj \ Debug \ TempPE", по какой-то странной причине, папка "TempPE" не может КОММИТИРОВАТЬ ее в хранилище
Решение? ... УДАЛИТЕ все остальные папки проекта одну за другой и удалите это местоположение с сервера SVN.
источник