如何从命令行使用svn + ssh和Tortoise SVN

我在使用TortoiseSvn在Windows 7工作站上使用以下语法签出回购协议时遇到问题:

svn co svn+ssh://user@ip/repo . 

我已经做了什么来testing这个问题:

  • 将TortoiseSvn的networking设置修改为指向.. \ TortoisePlink.exe
  • 成功build立到目标机器的SSH连接没有问题
  • 使用OpenSsh成功从运行Ubuntu的工作站检出回购

当我尝试从Windows 7工作站上的命令行执行上述语法时,出现错误:

 svn: E720087: Unable to connect to a repository at URL 'svn+ssh:///user@ip/repo' svn: E720087: Can't create tunnel:The parameter is incorrect. 

有趣的是,如果我用龟龟浏览回购,我可以成功打开并查看回购。 但是我需要从命令行执行脚本来达到目的。

有什么build议么?

svn + ssh与Tortoise一起工作,确保%SVN_SSH%被设置为你的ssh客户端(可能是来自Tortoise或Putty的plink.exe),路径必须用正斜杠/或者反斜杠\\来书写。

尝试使用plink的绝对路径设置%SVN_SSH% ,同时转义反斜杠,如C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe而不是..\TortoisePlink.exe

  • 手动连接到服务器,使用Plink。 定义需要和正确(为你)启动选项的Plink
  • 将此行(使用tortoiseplink作为windowless-plink)添加到%APPDATA%config文件中, [tunnels]部分

这也证明配置文件的隧道部分的行是区分大小写的。

例如:sh = $ SVN_SSH“C:/path/putty/plink.exe”-2 -C -i“C:/path/username/serversvn.ppk”可能工作

sh = $ SVN_SSH“C:/path/PuTTY/plink.exe”-2 -C -i“C:/path/username/serversvn.ppk”将不起作用