我是Sourceforge和SVN(Windows上的SilkSVN)的新手。

我设法使用 check out 了一个项目

svn co --username=zeroth123 svn://[email protected]/p/stddecimal/code/trunk stddecimal-code

但是,每次我尝试使用ssh(例如可以检入)时,都会失败
> svn co --username=zeroth123 svn+ssh://[email protected]/p/stddecimal/code/trunk stddecimal-code
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://[email protected]/p/stddecimal/code/trunk'
svn: E720087: Can't create tunnel: The parameter is incorrect.

我已经将SVN_SSH设置为指向我的完全合格的plink.exe,这没有什么区别。我还尝试将其更改为junk.exe并没有什么不同,所以我认为我们甚至没有在查看SVN_SSH,它耗尽了我在Sourceforge和其他论坛上可以找到的所有建议。

作为记录,我是项目管理员,因此拥有写权限(或至少认为我愿意!)

有任何想法吗?

最佳答案

`%SVN_SSH%需要正确设置,并且SSH key 需要在Sourceforge中注册。

请注意,默认情况下,新的Sourceforge项目的版本为2.0,而Sourceforge文档的99%是针对1.0的版本,并且已过时。

这些说明假定您已安装SVNPuTTY工具,并且您可以使用非安全协议(protocol)成功访问您的项目,例如,只读svn checkout svn://[email protected]/p/PROJECT/code/trunk PROJECT-code样式命令应该起作用。

这些说明说明了如何使用svn checkout svn+ssh://...进行相同操作,这是对Sourceforge进行写访问所需的。

  • %SVN_SSH%设置为SSH客户端的标准路径。例如。 setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"
  • svn在路径
  • 中期望正斜杠或双反斜杠
  • 您可能必须重新打开cmd窗口
  • 通过在提示符下键入%SVN_SSH%进行测试,并确认您获得了ssh程序帮助屏幕(或在不执行任何参数的情况下期望执行的任何行为)
  • (可选?)缓存服务器RSA key 。打开PuTTY,登录到svn.code.sf.net(或项目的任何服务器)。出现提示,询问您是否要缓存服务器RSA key -单击"is"。
  • 您可能不需要这样做,如果是第一次使用SVN连接项目时,可能不需要这样做。输入y
  • 但是,我这样做是因为我认为交互式提示可能是问题的一部分。
  • 创建一个公共(public)/私有(private) key ,并向Sourceforge注册公共(public) key 。
  • 创建 key 时,例如,更多信息here
  • 如果您使用PuTTY,请使用PuTTYgen创建 key ,并确保将私钥加载到pageant中。具有讽刺意味的是Launchpad具有出色的说明。
  • 可以通过导航到Home > Account > Services并单击Edit SSH Keys for Shell/CVS在Sourceforge上注册公钥。
  • 现在使用svn+ssh协议(protocol)的结帐应该可以了!
  • 10-04 12:42