在svn切换后(405 METHOD_NOT_ALLOWED)或(500内部服务器错误),为什么?

我最近(今天!),将我的SVN库移动到我自己的服务器。

我有麻烦检查出我的新回购,也更新我目前的工作副本使用我的新回购(这是从我的旧回购svnsync副本),我做到了这一点,通过使用:

svn switch --relocate /old/repo/path /new/repo/path

这按预期工作,并抛出一个共同的uuid错误。 我首先得到一个错误svn uuid's dont match ,所以我更新了svn repoconfiguration(repo/db/uuid)uuid文件以反映旧的uuid 。 这摆脱了那个错误。

下面的一切都是我的问题,我不能做任何与我的新回购(我想改变我的旧工作副本使用我的新回购(我创build,然后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提交-m“提交testing”

 # 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' 

我似乎可能把一些事情弄错了?

您可以在这里查看我的虚拟主机configuration设置: 在同一台服务器上的多个SVN存储库的虚拟主机设置

总结…!
我有一个新的回购svn sync'd从我的旧回购svn sync'd 。 我将工作副本URL重新定位到我的新svn repo url( svn sw oldUrl newUrl ),然后我更新了UUID以匹配旧的repo以摆脱UUID's don't match错误。

更新:忘了提及,我可以通过浏览器使用repourl来访问我的回购,我用修订号和回购文件显示,所以它工作! (我想)

添加我的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负载均衡器后面(或者find解决方法)。

所有这一次,我认为这是一个SVN问题,事实certificate是与服务器有关。 我的SVN设置很好!

在我解决了这个问题之后,我不小心承诺了我的旧版本库,然后当我尝试提交给我的新版本时,它不同步。 所以我不得不svnsync sync file:///path/to/repo来让它们再次同步!

总而言之,与SVN的伟大的学习曲线(新的回购,同步,错误和最终成功!!),并希望这可以节省一些人的时间!

一切都很好,现在! :d