1

我需要从家里访问一个 svn 存储库,它在工作网络中的 IP 192.168.0.10 下运行。我可以建立到我的本地主机的 SSH 隧道。现在我必须以某种方式映射 192.168.0.10,而不是访问 127.0.0.1。有人知道在 Windows 下执行此操作的方法吗?

4

8 回答 8

3

TortoiseSVN allows you to relocate your repository

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-relocate.html#tsvn-dug-relocate-dia-1:

If your repository has for some reason changed it's location (IP/URL). Maybe you're even stuck and can't commit and you don't want to checkout your working copy again from the new location and to move all your changed data back into the new working copy, TortoiseSVN → Relocate is the command you are looking for. It basically does very little: it scans all entries files in the .svn folder and changes the URL of the entries to the new value.

Or you can use svn command:

svn switch --relocate From_URL To_URL

于 2008-09-17T08:51:06.290 回答
3

当你在工作时,编辑你的 HOSTS 文件以使 svn = 192.168.0.10; 当您在家时,将其编辑为 svn = 127.0.0.1,然后通过使用“svn”作为服务器名称来访问它。

或者,在需要时使用“svn switch --relocate”命令更改存储库位置。

于 2008-10-02T08:23:19.737 回答
0

我想我以前也遇到过同样的情况,不过我必须找到确切的配置。

您可以从PuTTY Portable开始,它支持 SSH,您可以将本地 IP“重定向”到远程 IP。

据我记得,当你运行 PuTTY 时,你可以:

  1. 首先指定您的本地地址和端口(这将是您指向 SVN 客户端的位置,例如 Tortoise)
  2. 然后转到 Connection->SSH->Tunnels-> 指定要重定向的源端口(同上),然后指定目标 IP 和端口并单击添加

我认为应该是这样,我已经有一段时间没有这样做了。

于 2008-11-25T06:04:49.847 回答
0

您可以引用 DNS 名称吗?您可以覆盖主机文件 (C:\windows\system32\drivers\etc\hosts) 中 DNS 名称的 IP 地址。

于 2008-09-17T08:21:55.673 回答
0

我不确定这是否可能。您可以做的是引用 DNS 名称。您可以使用主机文件更改 DNS 名称指向的 IP 。

于 2008-09-17T08:23:33.423 回答
0

编辑您的主机文件位于%SystemRoot%\system32\drivers\etc\

于 2008-09-17T08:24:30.097 回答
0

据我了解,问题是您在笔记本电脑(或其他计算机)上签出了一个颠覆存储库,您在工作中使用 ip 地址 192.168.0.10 签出,现在您在家并想使用它。

就个人而言,我不会尝试任何花哨的网络重新排序(或修改主机文件),而只是使用 SSH 隧道再次检查机器上存储库的新副本。这样您就可以从 127.0.0.1 地址检查源。然后,如果您需要移动更改,您可以在两个签出的副本之间使用补丁。诚然,这不是最理想的解决方案,但它可以让你快速前进,而不会搞砸太多。

尽管更好的解决方案是说服工作允许使用更好的方法访问存储库(使用正确的密码、身份验证、SSL 等),例如使用 dav_svn/webdav 的 apache。

如果他们不这样做,请尝试让他们提供 VPN,以便您可以使用工作 IP 地址继续使用存储库。

于 2008-09-17T08:28:58.900 回答
0

为什么不直接通过 127.0.0.1 访问 svn?这肯定是一个更好的解决方案吗?

如果我理解正确,您在这里面临几个问题。只有一种方法可以完成这项工作,即让您的家用计算机的地址为 192.168.0.10。然后,使用 192.168.0.10 而不是 127.0.0.1 指定 ssh 本地地址。

远程 ssh 连接也将通过 192.168.0.10。

例如,ssh -l work_user -L 192.168.0.10:svn:192.168.0.10:svn work_ssh_host

OpenSSH 可以使用这种语法。

如果我正确理解您的情况,这就是全部。

更优雅的解决方案是使用 OpenVPN,并通过 VPN 路由连接。

于 2008-09-17T08:31:04.217 回答