我们的开发系统上的防火墙端口上运行着一个可以通过 HTTP(且只能通过 HTTP)访问的 SVN 服务器:
dev $ svn checkout http://localhost:1234/proj/trunk
在我的工作站上,我在 ssh 配置中创建了一个隧道,以便我可以从存储库导出到暂存和部署位置。
bob $ tail -n 3 ~/.ssh/config
Host svn-tun
HostName dev
LocalForward 8080 dev:1234
bob $ ssh -f -N svn-tun
bob $ svn export --force http://localhost:8080/proj/trunk .
我现在要做的是配置 subversion(我认为)来为我启动隧道,使用 HTTP 到 localhost:8080,然后关闭隧道。我希望它像下面这样简单:
$ svn 导出 --force富://dev-tun您可以使用 /proj/trunk 来配置项目。
不幸的是我并不是一个聪明的人。
答案1
据我所知,Subversion 不支持 SSH 隧道。
您可以编写一个脚本来启动隧道并执行导出:
#!/bin/sh
ssh svn-tun sleep 1 &
svn export --force http://localhost:8080/proj/trunk .
wait