无法通过 Windows 上的 Tortoise 访问 ubuntu 服务器上的 svn(成功!!!)

无法通过 Windows 上的 Tortoise 访问 ubuntu 服务器上的 svn(成功!!!)

编辑:

我最终通过指定文件夹使其正常工作。在 sites-enabled 中的虚拟主机文件中,我进行了以下更改:

SVNParentPath /home/ant

SVNPath /home/ant/svn

最后终于成功了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

现在继续我称霸世界的计划!!!哈哈哈:)

感谢所有提供帮助的人


嘿!

我已经遵循这个 Ubuntu 教程:https://help.ubuntu.com/9.04/serverguide/C/subversion.html

因此我有 svn、带有 webdava 的 apache、密码文件和 www-data 可以访问存储库所在的文件夹。

我确实遵循了教程。

因此我在 /home/ant/svn 有代表,如果我尝试在服务器机器上使用 svn 命令,它们就会起作用。

但是当我在 Windows 机器上导入或签出时,我得到了以下信息:

服务器响应 OPTIONS 发送了意外的返回值(403 Forbidden)

我已经在 Google 上搜索过这个问题,但似乎找不到解决办法。

有人知道如何纠正这个问题吗?谢谢!

编辑

我使用的命令是“svn co file:///path folder

我正在尝试通过乌龟菜单导入我拥有的一个项目

这是我在 apache 错误日志中看到的内容

[2009 年 7 月 23 日星期四 11:52:16] [错误] [客户端 192.168.1.100] 无法获取资源信息。[403,#0] [2009 年 7 月 23 日星期四 11:52:16] [错误] [客户端 192.168.1.100] (2)没有这样的文件或目录:URI 不包含存储库的名称。[403,#190001] [2009 年 7 月 23 日星期四 11:52:16] [错误] [客户端 192.168.1.100] 无法获取资源信息。 [403,#0] [2009 年 7 月 23 日星期四 11:52:16] [错误] [客户端 192.168.1.100] (2)没有这样的文件或目录:URI 不包含存储库的名称。[403,#190001] [2009 年 7 月 23 日星期四 15:00:47] [错误] [客户端 192.168.1.100] 无法获取资源信息。[403,#0] [2009 年 7 月 23 日星期四 15:00:47] [错误] [客户端 192.168.1.100] (2)没有这样的文件或目录:URI 不包含存储库的名称。 [403,#190001] [2009 年 7 月 23 日星期四 15:41:21] [错误] [客户端 192.168.1.100] 无法获取资源信息。[403,#0] [2009 年 7 月 23 日星期四 15:41:21] [错误] [客户端 192.168.1.100] (2)没有这样的文件或目录:URI 不包含存储库的名称。[403,#190001]

编辑:

由于我无法格式化评论(愚蠢的事情),这是我对 Swoogan 的回复

  1. 它是:svn co file:///home/ant/svn lixo - 我得到了 Checked out 0(或类似的东西)
  2. http://192.168.1.2/svn
  3. sudo svnadmin create svn - 是的,它在我的 home/ant 目录中

我还将 webdav 更改为 /home/ant 并得到了同样的结果 :(

答案1

“URI 不包含存储库的名称。”

无论您使用的 URL 是什么(您仍然没有提供它),它都是错误的。如果您的 repo 位于 /home/ant/svn,那么您的 apache conf 应该如下所示:

<Location /svn>
  DAV svn
  SVNParentPath /home/ant/svn
  AuthType Basic
  AuthName "Your repository name"
  AuthUserFile /etc/subversion/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
  </LimitExcept>
</Location> 

然后你就可以通过 Web 浏览器访问该仓库了

http://服务器名称/svn/存储库名称

假设您在 /home/ant/svn 中创建了一个 repo。如果 repo 名为 svn 并且位于 /home/ant 中,那么您需要

<Location />
  DAV svn
  SVNParentPath /home/ant

你将能够访问

http://服务器名称/svn

基本上,如果您满足以下条件,我可以为您提供答案:

  1. 给了精确的您在命令行上使用的命令成功
  2. 给了精确的您在 Tortoise 中使用的 URL
  3. 给了精确的创建 repo 时使用的命令

答案2

这可能太明显了,但是您设置了密码文件,那么您使用的是 Tortoise 的用户名和密码吗?我对这种操作没有太多经验,但 403 听起来像是权限问题。

答案3

您的远程主机是否允许在 Apache 配置中使用?

答案4

哪些 SVN 命令可以在服务器上运行?我只是想确保您使用的是 svn:// url,而不是 file:// url。

如果可以的话,您可以访问服务器上的 svn 端口吗?简单的 telnet 连接就足够了。

更新:
尝试“svn cohttp://服务器名称/svn' 格式,与 Tortoise 机器上使用的服务器名称相同。这似乎是错误的配置,与 Tortoise 无关。

我通常只使用 svn:// 方法 - 如 HowTo 中的“通过自定义协议访问”部分所述。它确实有局限性,但我不确定你的应用程序是什么。也许这就是你所需要的。

相关内容