从我的在线存储库中签出时出现 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)的主要内容,如果未能解决你的问题,请参考以下文章

在具有不同名称的文件夹中签出 SVN

没有作者颠覆 svn 提交

“格式 6”上的 SVN 结帐错误

将存储库从 Windows 迁移到 Linux 时出现格式错误的转储文件头(编码问题?)

执行脚本时出现 sql 错误。在创建存储库之前尝试删除存储库

克隆 GitHub 存储库时出现 SourceTree 问题