SVN在几分钟前工作得很好 - 我仍然可以在http://svn.example.com/myrepo浏览我的存储库但是当我尝试执行任何操作时,包括svn up,我得到:
svn: OPTIONS of 'http://svn.example.com/myrepo': 200 OK (http://svn.example.com)
当我尝试svn cleanup http://svn.example.com/myrepo
只是为了看看会发生什么时,我得到了:
svn: 'http://svn.example.com/myrepo' does not exist
再次 - 在浏览器中键入它,我仍然可以正常浏览存储库。怎么回事?
答案 0 :(得分:10)
好的,事实证明这个问题的解决方案非常基础 - 而且非常复杂。
简单的回答:
主机名svn.mywebsite.com
不存在(至少,不是我的开发服务器)。
对于其他任何遇到此问题的人,我强烈建议您根据无论出于何种原因无法找到SVN服务器的假设来解决问题。
-
并发症:
现在对我来说,事实证明它有点复杂,因为正如我之前提到的那样,它正在工作 - 然后就停止了。
如果您感兴趣,原因是我们的SVN服务器与我们的主应用程序(位于http://www.mywebsite.com
)一起存在于Web服务器上,该应用程序恰好在另一台服务器上进行了镜像,和mywebsite.com
的DNS记录正在两个服务器之间的AB模式上分发。由于我的开发服务器上的SVN客户端找不到svn.mywebsite.com
,因此它只是寻找mywebsite.com
。一旦连接到存在SVN服务器虚拟主机记录的“A”服务器,Apache就会接管并提供适合svn.mywebsite.com
的内容。
但是在某些时候,我的DNS缓存已刷新,并且没有可用的应用程序逻辑将用户安静地发送回“A”服务器,我的开发服务器开始将mywebsite.com
解析为“B”服务器 - - 甚至没有安装SVN。
显然,当SVN客户端开始说“呃,哎,没有这样的服务器”时。 (谁知道那些OPTIONS等等200什么意思?)
为什么我是白痴
这是不可避免的ID10T
错误发挥作用的地方。我可以在Firefox中一直浏览到“http://svn.mywebsite.com/myrepo”的原因是因为我在PC上手动创建了一个指向“A”服务器IP地址的主机条目。
如果我早点想起,我本可以节省很多时间 - 还有一些珍贵的布洛芬片剂。 :)
答案 1 :(得分:8)
此处存在类似问题,原因和解决方案不同。
简单的答案
降级Subversion客户端。
更复杂的答案
以前,我一直在使用1.6.11(特别是1.6.11-SlikSvn-tag-1.6.11@935062-X64
)并且工作正常。升级到1.6.17(1.6.17-SlikSvn-tag-1.6.17@1130898-X64
),然后开始收到OPTIONS of ... 200 OK
错误。降级再次修复它。由于(显然)我仍然可以在我的浏览器中浏览存储库,以及我认为使用自己的SVN客户端的IntelliJ,这一切都变得更加令人困惑。
为什么我是个白痴
由于我在两个SVN存储库中工作,而另一个版本的客户端工作正常,我在升级几天后才注意到问题,所以我没有立即找出原因。如果我早点意识到这一点,我本可以节省很多时间 - 虽然我没有达到止痛药的作用!
< / Brian Lacy的答案的无耻抄袭>
答案 2 :(得分:4)
将SVN服务器升级到1.7后出现此问题
我通过将以下内容添加到我的apache location指令来修复此问题:
SVNAdvertiseV2Protocol Off
答案 3 :(得分:3)
如果您的服务器使用svn端口,但您在网址上指定了http协议,则此“svn:OPTIONS of”错误也会显示。
也就是说,当我尝试时,我会收到错误:
svn checkout http://genericsite.com/someproject/trunk someproject
但我应该做的是:
svn checkout svn://genericsite.com/someproject/trunk someproject
答案 4 :(得分:1)
我遇到了同样的问题,因为我试图添加第二个SVN Repo。在阅读这篇文章后,我意识到,我必须在我的SVN配置文件(在我的情况下:/etc/apache2/mods-enabled/dav_svn.conf)中添加另一个 Location 设置,其中包含不同的路径。现在它在重新启动Apache后工作。
答案 5 :(得分:0)
为什么不再为一个荒谬的模糊错误消息提供一个解决方案?就我而言,SVN仓库由root用户创建,因此权限错误。
chown -R apache:apache /var/www/svn/foo
而且,既然我正在运行SELinux,我也做了很好的测量:
chcon -R system_u:object_r:httpd_sys_content_t:s0 /var/www/svn/foo
ETA:
此问题的一个容易出现的症状是在您的Apache日志中。注意,没有为响应OPTIONS请求而发送正文:
"OPTIONS /rancid HTTP/1.1" 200 - "-" "SVN/1.6.11 (r934486) neon/0.29.3"
更改后:
"OPTIONS /rancid HTTP/1.1" 200 97 "-" "SVN/1.6.11 (r934486) neon/0.29.3"