svn switch 之后-(405 METHOD_NOT_ALLOWED)或(500 Internal Server Error),为什么?

svn switch 之后-(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,因此我更新了uuidsvn repo 配置中的文件(repo/db/uuid)以反映旧的uuid。这消除了该错误。

以下所有都是我的问题,我无法对我的新 repo 做任何事情(我想更改我的旧工作副本以使用我的新 repo(我创建然后 svn 从我的旧 repo 同步到新的)。所以唯一的区别是 uuid(我手动更改),修订版完全相同(没有添加或删除任何内容)。

接下来,我尝试签出我的 repo 的新工作副本:(
首先创建新目录,然后尝试签出新的 repo):

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 提交 -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 配置设置:同一服务器上多个 SVN 存储库的 vhost 设置

总结一下...!
我从旧仓库中获得了一个新的仓库svn sync'd。我将工作副本 URL 重新定位到我的新 svn 仓库 URL ( svn sw oldUrl newUrl),然后更新 UUID 以匹配旧仓库,从而消除错误UUID's don't match

更新:忘了说了,我可以使用 repo URL 通过浏览器访问我的 repo,可以看到修订号和 repo 文件,所以它确实有效!!(我想!:S)

添加了我的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>

答案1

好的!
搞定了!.. 问题是我位于负载均衡器后面(我本来打算摆脱它)。所以我从负载均衡器中删除了我的 EC2 实例,一切又开始正常工作了!..

因此,如果您遇到这些问题,请确保您没有落后于 Amazon 负载均衡器(或找到解决方法)。

一直以来,我都以为这是 SVN 的问题,但结果却是与服务器有关。我的 SVN 设置很好!

修复此问题后,我意外地提交到了旧存储库!然后,当我尝试提交到新存储库时,它不同步了。所以我不得不svnsync sync file:///path/to/repo再次同步所有内容!

总而言之,SVN 的学习曲线很棒(新的 repo、同步、错误和最终成功!!),希望这可以为某些人节省一些时间!!

现在一切都很顺利!:D

相关内容