首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVN+SSH和Sourceforge

SVN+SSH和Sourceforge
EN

Stack Overflow用户
提问于 2012-05-15 17:42:01
回答 4查看 14.2K关注 0票数 16

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

我设法用以下命令签出了一个项目

代码语言:javascript
复制
svn co --username=zeroth123 svn://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk stddecimal-code

但是,每次我尝试使用ssh (例如,我可以签入)时,都会失败,并显示以下信息

代码语言:javascript
复制
> 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和其他论坛上找到的所有建议。

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

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-16 06:18:38

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

请注意,默认情况下,新的Sourceforge项目是2.0版,而99%的Sourceforge文档是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"

代码语言:javascript
复制
- `svn` expects **forward slashes or double back-slashes** in the path
- You may have to reopen a `cmd` window
- Test by typing `%SVN_SSH%` at the prompt and confirm you get your ssh programs help screen (or whatever behaviour you expect from executing with no arguments)

  1. (可选?)缓存服务器RSA密钥。打开PuTTY,登录到svn.code.sf.net (或您的项目的服务器)。将出现一个提示,询问您是否要缓存服务器RSA密钥-单击是。

代码语言:javascript
复制
- You might not need to do this, if not when you use SVN to connect ot your project for the first time you will be asked the same question. Type `y`.
- However, I did this because I thought the interactive prompt could be part of the problem.

向Sourceforge.注册

  1. 创建公钥/私钥

代码语言:javascript
复制
- On creating a key, more info [here](http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter8.html)for example.
- If you use `PuTTY`, use `PuTTYgen` to create the key, and make sure the private key is loaded in `pageant`. Ironically [Launchpad](https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair) has excellent instructions.
- The public key can be registered on Sourceforge by navigating to `Home > Account > Services` and clicking `Edit SSH Keys for Shell/CVS`.

  1. 现在应该可以使用svn+ssh协议进行结账了!
票数 21
EN

Stack Overflow用户

发布于 2013-04-04 04:07:24

我遵循了here的说明,它起作用了。这是一种更快的方法,不需要上传密钥等。

使用记事本%APPDATA%\Subversion\config

  • Add从windows安装目录中的http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe

  • Place

  • plink.exe下载以下文件,或者替换[tunnels]部分中的以下行(将plink.exe和pwd替换为您的sourceforge登录名和密码)

ssh = c:\windows\plink.exe -batch -l -pw

(注意double backslash)

  • Save并关闭文件
票数 9
EN

Stack Overflow用户

发布于 2013-09-24 13:25:28

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10598069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档