16

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

我设法使用

svn co --username=zeroth123 svn://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk stddecimal-code

但是,每次我尝试使用 ssh(例如,我可以签入)时,它都会失败

> svn co --username=zeroth123 svn+ssh://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk stddecimal-code
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk'
svn: E720087: Can't create tunnel: The parameter is incorrect.

我已经开始SVN_SSH指出我完全有资格plink.exe,这没有任何区别。我也尝试将其更改为junk.exe并没有得到任何不同,所以我认为我们甚至没有在看SVN_SSH,这用尽了我在 Sourceforge 和其他论坛上找到的所有建议。

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

有任何想法吗?

4

4 回答 4

21

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

请注意,新的 Sourceforge 项目默认为2.0 版,而 Sourceforge 文档的 99% 是针对 1.0 版的,并且显得过时了。

这些说明假设您已经安装并安装SVNPuTTY工具,并且您可以使用非安全协议成功访问您的项目,例如只读svn checkout svn://USER@svn.code.sf.net/p/PROJECT/code/trunk PROJECT-code样式命令应该可以工作。

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

  1. 设置%SVN_SSH%为 SSH 客户端的标准路径。例如setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"

    • svn期望路径中有正斜杠或双反斜杠
    • 您可能需要重新打开一个cmd窗口
    • 通过在提示符下键入进行测试%SVN_SSH%并确认您获得了 ssh 程序帮助屏幕(或您期望在不带参数的情况下执行的任何行为)
  2. (可选?)缓存服务器 RSA 密钥。打开PuTTY,登录到svn.code.sf.net(或您项目的任何服务器)。将出现一个提示,询问您是否要缓存服务器 RSA 密钥 - 单击是。

    • 你可能不需要这样做,如果不是当你第一次使用 SVN 连接你的项目时,你会被问到同样的问题。键入y
    • 但是,我这样做是因为我认为交互式提示可能是问题的一部分。
  3. 创建公钥/私钥并将公钥注册到 Sourceforge。

    • 例如,在创建密钥时,请参阅此处的更多信息。
    • 如果您使用PuTTY,请使用PuTTYgen来创建密钥,并确保将私钥加载到pageant. 具有讽刺意味的是, Launchpad有很好的说明。
    • Home > Account > Services通过导航到并单击,可以在 Sourceforge 上注册公钥Edit SSH Keys for Shell/CVS
  4. 现在使用svn+ssh协议的结帐应该可以工作了!

于 2012-05-15T22:18:38.083 回答
9

我按照此处的说明进行操作,并且有效。它是一种更快的方法,不需要上传密钥等。

  1. plink.exehttp://the.earth.li/~sgtatham/putty/latest/x86/plink.exe下载
  2. plink.exe放在您的 Windows 安装目录 ( %windir%)
  3. 使用记事本打开以下文件%APPDATA%\Subversion\config
  4. 在该部分中添加或替换以下行[tunnels](将 login 和 pwd 替换为您的 sourceforge 登录名和密码)

    ssh = c:\\windows\\plink.exe -batch -l <LOGIN> -pw <PWD>
    

    (注意双反斜杠)

  5. 保存并关闭文件
于 2013-04-03T20:07:24.440 回答
0

对我来说,问题是 Tortoise 最初安装在 D 盘上。我卸载它并在 C 上重新安装它,而没有更改相关设置。解决方案是将 TortoiseSVN 文件夹从 C 盘复制到 D 盘的原始位置。

于 2013-09-24T05:25:28.483 回答
-1

对于使用 Tortoise SVN 的任何人(如我)使用 Tortoise SVN 但需要命令行访问以更轻松地进行批量分析......并且不想经历注册 SSH 密钥的麻烦。

  1. 复制您在 Tortoise - 设置 - 网络 - SSH 客户端中使用的值(我的有用户名、密码参数)
  2. 根据上面的答案编辑 %APPDATA%\Subversion\config 中的命令行配置 ssh 行,以使用您从 Tortoise 复制的行

这样,您可以使用带有用户名和密码参数的 Tortoise Plink.exe。

于 2015-12-10T11:51:46.107 回答