从我的在线存储库中签出时出现 SVN 错误(200 OK)
Posted
技术标签:
【中文标题】从我的在线存储库中签出时出现 SVN 错误(200 OK)【英文标题】:An SVN error (200 OK) when checking out from my online repository 【发布时间】:2010-11-04 18:03:51 【问题描述】:我正在尝试在主机上设置我的第一个存储库,当我使用 TortoiseSVN 签出项目时出现此错误:
错误:'http://mywebsite.com/svn/myproject'的选项:200 OK (http://mywebsite.com)
这是我所做的:
SSH 进入我的主机并前往 /home/myaccnt 和 'svnadmin create svn'
创建我的项目存储库:'svn mkdir svn/myproject'
将文件添加到存储库:cd /home/myaccnt/.../myproject(其中包含 /tags、/branch、/trunk); 'svn import file:///home/myaccnt/svn/myproject'(此时可以看到正在添加的旧文件的大列表。) 此时我认为我已经设置了我的存储库并将我的项目导入到存储库中。所以,我准备在我的 Windows 机器上使用 TortoiseSVN 进行结帐。所以:
在我要结帐的文件夹中,我右键单击并SVN Checkout,然后确保我的 URL 是:http://mywebsite.com/svn/myproject
结果?
错误:'http://mywebsite.com/svn/myproject'的选项:200 OK (http://mywebsite.com)
有人对我有什么想法吗?我可能遗漏了一些与我的存储库或 htaccess 结构有关的基本内容......或其他东西。
【问题讨论】:
【参考方案1】:我也不得不深入研究这个问题,并找到了以下页面,这些页面引导我找到了解决方案: - http://comments.gmane.org/gmane.comp.version-control.subversion.devel/117844 (尤其是link to "Julian's patch"。)
据说“OPTIONS of <url>
: 200 (<url>
) OK”错误非常具有误导性,通常仅表示存储库 URL 错误。
【讨论】:
是的。在大多数情况下,这是一个错误的网址。我也刚刚又得了,但我总是忘记它的原因。 我们在 ProjectLocker 的客户中也经常看到此错误,而且它始终是一个不正确的 URL。请接受以上答案。 很少看到有 66 票赞成的答案输给了 2 票。 链接(实际上)已损坏(“ArchivedAt Nothing found - bye”)。【参考方案2】:我在使用简单的“svn list”命令时遇到了类似的问题。
为了扩展 Vitor Mateus 关于斜线的回答:在内部服务器上使用 Apache 设置我自己的存储库时,我在 Apache 2 配置文件中的原始 Location
标记看起来像:
<Location "/svn/repo_address/">
...
</Location>
在“repo_address”之后有一个尾随“/”。那里不应该有斜线:
<Location "/svn/repo_address">
...
</Location>
一些微妙的东西,但它有很大的不同。现在打电话给
svn list http://my.server.com/svn/repo_address
工作正常。有时仔细阅读手册会有所帮助;-)
【讨论】:
+1 这是许多其他人中唯一一个解决了我的问题的人。万分感谢! :)【参考方案3】:显然,这更多是我的主机的限制问题,我正在与他们合作解决它。
谢谢,1800。
顺便说一句,这里的答案是我的主机 A2 Web Hosting 要求使用 public_key 通过 SSH 处理 SVN,并在我的情况下配置 TortoiseSVN 来完成这项工作。对于只有一点设置键经验的人来说,这有点时髦,但是一旦完成就非常令人满意!
您可以在 A2 主机的支持 wiki 中找到有关 SVN 的信息。
【讨论】:
【参考方案4】:我刚遇到这个问题。我的 Subversion 服务器位于非标准端口上。所以实际上我的存储库 URL 是错误的。只是要检查其他内容...
【讨论】:
【参考方案5】:对我来说,错误是在服务器端,是因为我忘记取消注释
DAV svn
在配置文件/etc/apache2/mods-enabled/dav_svn.conf
(在Debian上)。
【讨论】:
【参考方案6】:如果您将结帐地址从http://mywebsite.com/svn/myproject
更改为svn://mywebsite.com/svn/myproject
,它会开始工作吗?如果是这样,可能你没有设置 SVN 访问的 HTTP 协议?
【讨论】:
【参考方案7】:这个错误是完全通用的,只是意味着它无法与 SVN 服务器通信。使用您的浏览器查看 URL 并查看实际提供的内容。它应该是一个普通的黑白页面,在页脚中显示 Powered by Subversion。这应该可以帮助您找出问题所在。
在我的情况下,请求没有在 DAV 模块中结束,因为我使用的是 ProxyPass。
【讨论】:
【参考方案8】:对我来说,这绝对是一个身份验证问题。
通常,当我尝试签出新项目时,系统会询问我是否要接受证书(永久、临时或根本不接受)。
我之前肯定没有点击过,所以它不会再提示我了。
使用 TortoiseSVN 客户端,我进入 Settings,然后 Saved Data 并清除了我的 身份验证数据(按钮 Clear)。
然后,当我尝试结帐时,它提示我接受证书。我做了永久,一切都很好。它检查了我所有的代码。
【讨论】:
【参考方案9】:对第一个响应的修改对我有用。
我的存储库使用 SSH。该 URL 以 https:// 的形式提供给我(用于 HTTPS 访问),我最终发现需要更改 URL 上的协议。
使用命令行客户端: $ svn checkout svn+ssh:///svnroot//
(无需密钥配置。)
【讨论】:
【参考方案10】:出现此错误的另一个原因(在上述众多错误中)是在 ~/.subversion/servers 中设置了代理,而您不需要代理即可访问您尝试连接的服务器。
【讨论】:
【参考方案11】:尝试将/
放在 URL 的末尾。将结帐地址从“http://mywebsite.com/svn/myproject”更改为“http://mywebsite.com/svn/myproject/”。
【讨论】:
【参考方案12】:我在从我的 Ubuntu x-term 连接到开源存储库时遇到了这个错误。
有效的解决方案是修改/etc/subversion/servers
文件。我修改了全局部分中的代理设置,现在:一切正常。
【讨论】:
【参考方案13】:确保在 Apache 配置中正确设置了 SVNPath!
【讨论】:
【参考方案14】:我有一个不同的问题(和一个解决方案)。我不明白为什么会这样,但是由于某些存储库 DID 签出,我尝试独立签出各种内容。
我发现只有根文件夹中的一个 JAR 文件没有被检出,并且试图检出它会导致错误。由于该文件是同一 JAR 文件的重复文件,它位于“目标”文件夹中,我只是通过 repo-browser (TortoiseSVN) 从存储库中删除了它,并再次通过 NetBeans 签出该项目 - 最后它在没有错误。
【讨论】:
以上是关于从我的在线存储库中签出时出现 SVN 错误(200 OK)的主要内容,如果未能解决你的问题,请参考以下文章
将存储库从 Windows 迁移到 Linux 时出现格式错误的转储文件头(编码问题?)