如何连接到远程svn服务器?

时间:2022-03-22 15:55:01

Heres the current setup.

继承人当前的设置。

Home PC ---/ Internet /---> Work Proxy Server --/ LAN /--> SVN server

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

  • Home PC running Windows XP.
  • 家用电脑运行Windows XP。

  • Work Proxy server running fedora-core (to which I can connect through ssh).
  • 工作代理服务器运行fedora-core(我可以通过ssh连接到它)。

  • SVN server is inside the Office LAN running Windows XP.
  • SVN服务器位于运行Windows XP的Office LAN中。

I want to connect to the work svn server commit changes, update and checkout from the home PC.

我想连接到工作svn服务器提交更改,更新和从家用电脑结帐。

I can tunnel to my Work SVN PC (not the service) with no problems, which I currently use with VNC (using PuTTY).

我可以毫无问题地隧道到我的工作SVN PC(而不是服务),我目前使用VNC(使用PuTTY)。

Currently using Tortoisesvn for a client.

目前正在为客户使用Tortoisesvn。

Thanks for any help!

谢谢你的帮助!

3 个解决方案

#1


Assuming your work proxy machine has access to the SVN server, you would set up a tunnel like this with regular SSH: ssh -L localport:svnserver:svnport username@proxyserver. You'll need to figure out the equivalent options for PuTTY, perhaps by using that link Ben S provided. Once you've set up the tunnel, all your SVN operations will be going through localport on your local computer, so you'll need to set up Tortoise to treat your local machine on that port as the SVN server (using either a new checkout or an svn switch --relocate on an existing working copy.

假设您的工作代理机器可以访问SVN服务器,您可以使用常规SSH设置这样的隧道:ssh -L localport:svnserver:svnport username @ proxyserver。您需要找出PuTTY的等效选项,可能是使用Ben S提供的链接。设置隧道后,所有SVN操作都将通过本地计算机上的localport,因此您需要设置Tortoise以将该端口上的本地计算机视为SVN服务器(使用新的结帐)或者一个svn开关 - 在现有的工作副本上定位。

#2


You need to configure a tunnel port in PuTTY so that you'll connect to localhost:someport on your home PC, and PuTTY will tunnel all traffic between the two.

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

Depending on the SVN server setup you'll want to use either port 80 (http:), 443 (https:) or 3690 (svn:).

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

This tutorial is slightly outdated, but still applies here.

本教程稍微过时,但仍适用于此处。

#3


The previous answers may be correct, but are more complicated than necessary. If you specify your repository using the syntax svn+ssh://user@host/path/to/repository, tunneling details will be taken care of, as long as you meet the following requirements:

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

  • you can ssh to the server holding the repository
  • 你可以ssh到持有存储库的服务器

  • you would be able to run 'svnserve' on this server
  • 你可以在这台服务器上运行'svnserve'

  • you got ssh or a similar command-line utility on your windows client machine
  • 您在Windows客户端计算机上使用ssh或类似的命令行实用程序

The last item may involve a bit extra work. I had success by:

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

  1. installing Cygwin (with 'openssh' + 'openssl' packages)
  2. 安装Cygwin(使用'openssh'+'openssl'包)

  3. adding the following line to the [tunnels] section of the SVN 'config' file(*): "ssh = /cygwin/bin/ssh -q " (no space at the beginning of the line).
  4. 将以下行添加到SVN'config'文件(*)的[tunnels]部分:“ssh = / cygwin / bin / ssh -q”(行的开头没有空格)。

(*) You can find it in c:\Documents and Settings\user\Application Data\Subversion, or by going to the TortoiseSVN Settings > General menu, and clicking the 'Edit' button.

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

#1


Assuming your work proxy machine has access to the SVN server, you would set up a tunnel like this with regular SSH: ssh -L localport:svnserver:svnport username@proxyserver. You'll need to figure out the equivalent options for PuTTY, perhaps by using that link Ben S provided. Once you've set up the tunnel, all your SVN operations will be going through localport on your local computer, so you'll need to set up Tortoise to treat your local machine on that port as the SVN server (using either a new checkout or an svn switch --relocate on an existing working copy.

假设您的工作代理机器可以访问SVN服务器,您可以使用常规SSH设置这样的隧道:ssh -L localport:svnserver:svnport username @ proxyserver。您需要找出PuTTY的等效选项,可能是使用Ben S提供的链接。设置隧道后,所有SVN操作都将通过本地计算机上的localport,因此您需要设置Tortoise以将该端口上的本地计算机视为SVN服务器(使用新的结帐)或者一个svn开关 - 在现有的工作副本上定位。

#2


You need to configure a tunnel port in PuTTY so that you'll connect to localhost:someport on your home PC, and PuTTY will tunnel all traffic between the two.

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

Depending on the SVN server setup you'll want to use either port 80 (http:), 443 (https:) or 3690 (svn:).

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

This tutorial is slightly outdated, but still applies here.

本教程稍微过时,但仍适用于此处。

#3


The previous answers may be correct, but are more complicated than necessary. If you specify your repository using the syntax svn+ssh://user@host/path/to/repository, tunneling details will be taken care of, as long as you meet the following requirements:

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

  • you can ssh to the server holding the repository
  • 你可以ssh到持有存储库的服务器

  • you would be able to run 'svnserve' on this server
  • 你可以在这台服务器上运行'svnserve'

  • you got ssh or a similar command-line utility on your windows client machine
  • 您在Windows客户端计算机上使用ssh或类似的命令行实用程序

The last item may involve a bit extra work. I had success by:

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

  1. installing Cygwin (with 'openssh' + 'openssl' packages)
  2. 安装Cygwin(使用'openssh'+'openssl'包)

  3. adding the following line to the [tunnels] section of the SVN 'config' file(*): "ssh = /cygwin/bin/ssh -q " (no space at the beginning of the line).
  4. 将以下行添加到SVN'config'文件(*)的[tunnels]部分:“ssh = / cygwin / bin / ssh -q”(行的开头没有空格)。

(*) You can find it in c:\Documents and Settings\user\Application Data\Subversion, or by going to the TortoiseSVN Settings > General menu, and clicking the 'Edit' button.

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