【问题标题】:How do I connect to a remote svn server?如何连接到远程 svn 服务器?
【发布时间】:2009-04-20 15:23:07
【问题描述】:

这是当前设置。

家用电脑 ---/ 互联网 /---> 工作代理服务器 --/ 局域网 /--> SVN服务器

  • 运行 Windows XP 的家用电脑。
  • 运行 fedora-core 的工作代理服务器(我可以通过 ssh 连接到它)。
  • SVN 服务器位于运行 Windows XP 的办公室局域网内。

我想从家用 PC 连接到工作 svn 服务器提交更改、更新和签出。

我可以毫无问题地通过隧道连接到我的 Work SVN PC(不是服务),我目前在 VNC 中使用它(使用 PuTTY)。

目前正在为客户端使用 Tortoisesvn。

感谢您的帮助!

【问题讨论】:

    标签: svn tortoisesvn ssh version


    【解决方案1】:

    您需要在 PuTTY 中配置一个隧道端口,以便连接到家用 PC 上的 localhost:someport,PuTTY 将在两者之间建立隧道所有流量。

    根据 SVN 服务器设置,您需要使用端口 80 (http:)、443 (https:) 或 3690 (svn:)。

    This tutorial 有点过时了,但在这里仍然适用。

    【讨论】:

    • 谢谢本,我可以开隧道就好了。如何使用客户端向服务器提交更改?
    • 不要使用您在工作中使用的 URL,而是连接到 localhost:3690(或您转发的任何端口)。这将在本地连接到 PuTTY 隧道。
    【解决方案2】:

    假设您的工作代理机器可以访问 SVN 服务器,您将使用常规 SSH 设置这样的隧道:ssh -L localport:svnserver:svnport username@proxyserver。您可能需要通过使用 Ben S 提供的链接来找出 PuTTY 的等效选项。一旦你建立了隧道,你所有的 SVN 操作都将通过你本地计算机上的localport,所以你需要设置 Tortoise 以将该端口上的本地计算机作为 SVN 服务器(使用新结帐或现有工作副本上的svn switch --relocate

    【讨论】:

    • 之后如何访问 repo? svn://localhost/svnrepos
    • 您可以像平常一样访问它,只是将 SVN 服务器的主机名替换为“localhost”。您在评论中提供的 URL 很可能是正确的。
    • 主机主动拒绝连接。这就是我得到的,但它可以在服务器上运行。哦,好吧,会试着找到:)谢谢你的帮助
    • 我从来没有时间让它与 svn://* 一起工作,但它与 VisualSvn HTTP 一起工作正常
    【解决方案3】:

    前面的答案可能是正确的,但比必要的要复杂。如果您使用语法 svn+ssh://user@host/path/to/repository 指定存储库,只要您满足以下要求,就会处理隧道详细信息:

    • 您可以通过 ssh 连接到保存存储库的服务器
    • 您将能够在此服务器上运行“svnserve”
    • 您的 Windows 客户端计算机上有 ssh 或类似的命令行实用程序

    最后一项可能涉及一些额外的工作。我成功了:

    1. 安装 Cygwin(使用 'openssh' + 'openssl' 包)
    2. 将以下行添加到 SVN 'config' 文件 (*) 的 [tunnels] 部分: "ssh = /cygwin/bin/ssh -q "(行首没有个空格)。

    (*) 您可以在 c:\Documents and Settings\user\Application Data\Subversion 中找到它,或者转到 TortoiseSVN 设置 > 常规菜单,然后单击“编辑”按钮。

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 2016-07-17
      • 1970-01-01
      • 2017-09-16
      相关资源
      最近更新 更多