svn挂在Windows的结账时

时间:2015-07-16 01:14:43

标签: windows svn ssh

尝试使用svn checkout svn+ssh://USER@REPO .

签出存储库

我在调用%SVN_SSH%时设置了-v变量以包含plink.exe标志,并且我得到的最后一个日志是Using username "USER".之后,命令行无限期挂起。

我尝试使用TortoiseSVN和Intellij中的Subversion集成来尝试检出存储库时遇到类似的问题。

使用PuTTY连接服务器或直接在命令行中调用plink没有问题。将-v标记与plink一起使用,系统会在使用svn checkout挂起的行后立即提示我输入密码。

我有Windows 7 Ultimate SP 1,svn版本1.8.13,plink版本0.60。

2 个答案:

答案 0 :(得分:0)

问题似乎是 使用对SVN使用公钥认证,以便能够在Windows中正确使用SSH。

网上有一些关于如何做到这一点的教程,但对我有用的是这一篇:http://support.suso.com/supki/SSH_Tutorial_for_Windows

我在其他教程中找不到的重要区别是使用chmod命令来更改服务器上公钥文件的访问权限。

答案 1 :(得分:0)

现在说来已晚,但我遇到了类似的问题。 在我的情况下,问题出在plink.exe的命令行中。

要正确解决所有问题,并且不要键入无限的登录名和密码:

  1. 使用pageant.exe添加ppk密钥,避免手动输入密码。
  2. SVN_SSH环境变量与-l "<username>"参数一起使用,以避免手动输入用户名,并避免在svn存储库URL中使用用户名。
  3. SVN_SSH环境变量与-batch参数一起使用,以避免挂起脚本模式。

生成的SVN_SSH环境变量应如下所示:

SVN_SSH="<path-to-plink>/plink.exe" -batch -l "<USER>"

警告SVN_SSH变量中的路径中的反斜杠字符是转义字符,必须使用双精度字符对其进行自我转义或替换为正斜杠-{{1 }}。

但是请注意/命令,因为git svn变量可能会破坏git并显示以下消息:

SVN_SSH

在这种情况下,您必须使用Can't create session: Unable to connect to a repository at URL 'svn+ssh://...': Error in child process: exec of '' failed: No such file or directory at .../Git/mingw64/share/perl5/Git/SVN.pm line 310.ssh-pageant工具中的msys

我还创建了另一篇文章,其中详细介绍了如何针对cygwinsvn.exe逐步执行此操作:How to use git-svn with svn+ssh url