我被要求为 Visual Studio 2008 设置 VisualSVN。
由于防火墙限制和服务器配置。我需要使用ssh 隧道。
我的问题是这样的:
本地机器需要通过 ssh 连接到网关机器,然后连接到 Subversion 服务器,这样
Local machine ---{ssh}--- gateway ---{ssh}-- Subversion server
我不确定执行此操作的正确过程。
看来我必须使用plink启动一个 ssh 进程来打开一个本地端口并将其转发到远程颠覆服务器。
例如:plink user@gateway -L 22:192.168.1.1:22
然后当 VisualSVN 启动时,它使用Tortoiseplink通过使用svn+ssh://username@localhost:22/myrepo
这看起来非常非常笨重。
首先,它需要几个步骤来设置连接。
其次,我需要运行plink,它会在桌面上留下命令提示符(混乱 = yuck)。
最后,我需要使用两个不同的程序来做同样的事情。( plink + tortoiseplink )
问题是 tortoiseplink 不在后台运行。一旦我连接到 ssh 网关并输入密码,它就会再次关闭。所以我不能用它来创建初始连接。
如果我在 VisualSVN 中使用 plink 而不是 tortoiseplink,那么我永远不会被提示输入密码。所以它只是挂起一个打开的命令提示符并且没有密码请求。
有没有办法设置 VisualSVN,以便一切都发生在一个命令行中?
我已经到处搜索了一种合适且干净的方法来从 VisualSVN 隧道到远程服务器,但发现的很少。这一切要么假设一跳(不像我的两跳),要么掩盖所有困难。
VisualSVN 如何处理不同服务器上的多个存储库?看来您需要为每个项目使用相同的 ssh 命令行,这意味着只有一个存储库。或者至少只有一个主机!