Linux Subversion 客户端无法连接到 Windows 2012 VisualSVN

Linux Subversion 客户端无法连接到 Windows 2012 VisualSVN

我正在尝试将 Red Hat 计算机上的 Subversion 客户端连接到运行 VisualSVN Server 的 Windows Server 2012 计算机。我的目标是通过 Linux 计算机上的 shell 脚本运行svn export以检索开发服务器的代码。

首先,我尝试使用默认的 https Repo 连接字符串进行连接。

svn export --username user --password pass https://OPSSVN1/svn/volunteers/ ./svn-export

Linux 盒子返回...

svn: Server sent unexpected return value (501 Not Implemented) in response to OPTIONS request for 'https://OPSSVN1/volunteers'

因此我去安装了 svnserve.exe 作为监听 3960 的服务,并将脚本更改为..

svn export --username user --password pass svn://OPSSVN1:3960/volunteers/ ./svn-export

我收到以下消息

svn: Can't connect to host 'OPSSVN1': Connection refused

现在,如果我使用窗口桌面的任一连接字符串,它都可以正常工作。

其他已知事实可能有帮助...

  • Windows 服务器已打开该端口的防火墙。
  • Linux 机器可以 ping 通该机器
  • Linux 机器可以 Telnet 到 Windows 机器上的 443 端口
  • Linux 机器无法通过 telnet 连接到 Windows 机器上的 3960 端口
  • Linux SVN 版本:svn,版本 1.6.11(r934486)
  • VisualSVN 版本 2.7.2

我在 Windows 上设置的 SVN 服务是使用以下命令完成的。

cmd /c sc create subversion binpath="c:\svnserve\svnserve.exe --service -r E:\Repositories --listen-port 3960"

文件夹 svnserve 是指向程序文件 x86 目录中 visualsvn bin 文件夹的符号链接。

关于如何让这个 Linux 机器从 VisualSVN 导出代码,您有什么想法吗?

答案1

  1. 您输入的 URL 似乎无效。

    您从哪里获得 URL https://OPSSVN1/volunteers/?VisualSVN Server 存储库的 URL 通常看起来像。除非您将 VisualSVN Server 隐藏在反向代理后面,否则https://<hostname>/svn/<repository-name>URL 必须是。https://OPSSVN1/svn/volunteers/

  2. 您在 Linux 机器上使用的 Subversion 1.6.11 客户端太过过时。

    从 1.8 版开始,Subversion 1.6 不再受支持。1.6.11 版于 2010 年 4 月 19 日发布,已经过时了。事实上,它落后了 11 个补丁版本。最新的 Subversion 1.6.23 客户端于 2013 年 5 月 30 日发布,包含大量修复。如果您必须使用 svn 1.6 客户端,至少要将其更新到最新的补丁版本。

    另一方面,你必须考虑将你的客户端升级到最新的 Subversion 1.8 版本

相关内容