[英]How to use svn+ssh with Tortoise SVN from the command line
我在使用 TortoiseSvn 的 Windows 7 工作站上尝试使用以下语法签出存储库时遇到问题:
svn co svn+ssh://user@ip/repo .
我做了什么来测试这个问题:
当我尝试从 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.
有趣的是,如果我使用 tortoise gui 浏览到 repo,我可以成功打开并查看 repo。 但是为了编写脚本,我需要从命令行执行此操作。
有什么建议么?
要使 svn+ssh 与 Tortoise 一起使用,请确保将%SVN_SSH%
设置为您的 ssh 客户端(可能是 Tortoise 或 Putty 的 plink.exe),并且必须使用正斜杠/
或转义反斜杠\\\\
写入路径。
尝试在转义反斜杠时使用 plink 的绝对路径设置%SVN_SSH%
,例如C:\\\\Program Files\\\\TortoiseSVN\\\\bin\\\\TortoisePlink.exe
而不是..\\TortoisePlink.exe
%APPDATA%config
文件的[tunnels]
部分检查 TortoisePlink 的路径在你的 Tortoise SVN 配置中没有损坏......
[tunnels]
部分并检查应该取消注释的ssh
值,使用双斜杠等 - 我遇到了问题,因为在路径的开头似乎有一个 Unicode 控制代码。### On Windows, if you are specifying a full path to a command, ### use a forward slash (/) or a paired backslash (\\) as the ### path separator. A single backslash will be treated as an ### escape for the following character. ssh = C\:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe
事实证明,配置文件的 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" 不起作用
我有一个类似但略有不同的问题。
我尝试通过 Pycharm 连接到我们的 SSH+SVN 服务器,但它挂了。 通过 Windows 右键单击,tortoiseSVN 尝试了常规方式,并遇到了同样的“无法创建隧道”问题。
我相信这个问题是因为我试图通过 pycharm 连接到我的 repo,它自动在 tortoise SVN 配置文件中创建了一条隧道线。
我跟着凯文萨德勒的回答,只是注释掉了 ssh 行,然后就恢复正常了。 检出和提交再次工作。
凯文的回答:
检查 TortoisePlink 的路径在你的 Tortoise SVN 配置中没有损坏......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.