[英]SVN+SSH and Sourceforge
我是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和其他論壇上找到的所有建議。
為了記錄我是項目管理員,因此有寫權限(或者至少我認為!)
有任何想法嗎?
`%SVN_SSH%需要正確設置,並且需要在Sourceforge中注冊SSH密鑰。
請注意,默認情況下,新的Sourceforge項目是版本2.0 ,而99%的Sourceforge文檔適用於版本1.0並且過時。
這些說明假設您已安裝SVN
和PuTTY
工具,並且您可以使用非安全協議成功訪問您的項目,例如只讀svn checkout svn://USER@svn.code.sf.net/p/PROJECT/code/trunk PROJECT-code
style命令應該有效。
這些說明解釋了如何對svn checkout svn+ssh://...
執行相同的操作svn checkout svn+ssh://...
這是對Sourceforge的寫訪問所需的。
將%SVN_SSH%
設置為SSH客戶端的完全限定路徑。 例如setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"
svn
期望路徑中的正斜杠或雙反斜杠 cmd
窗口 %SVN_SSH%
進行測試,並確認您獲得了ssh程序幫助屏幕(或者您希望在沒有參數的情況下執行的任何行為) (可選?)緩存服務器RSA密鑰。 打開PuTTY
,登錄到svn.code.sf.net
(或項目的任何服務器)。 將出現一個提示,詢問您是否要緩存服務器RSA密鑰 - 單擊是。
y
。 創建公鑰/私鑰並使用Sourceforge注冊公鑰。
現在使用svn+ssh
協議進行結賬應該可行!
我按照這里的說明進行操作。 它是一種更快的方法,不需要上傳密鑰等。
plink.exe
plink.exe
放在Windows安裝目錄中( %windir%
) %APPDATA%\\Subversion\\config
打開以下文件 添加或替換[tunnels]
部分中的以下行(將login和pwd替換為sourceforge登錄名和密碼)
ssh = c:\\\\windows\\\\plink.exe -batch -l <LOGIN> -pw <PWD>
(注意雙反斜杠)
對我來說問題是Tortoise最初安裝在D盤上。 我卸載它並在C上重新安裝它而不更改相關設置。 解決方案是將TortoiseSVN文件夾從C盤復制到D盤中的原始位置。
對於與Tortoise SVN一起工作的任何人(像我一樣),他們為Tortoise SVN工作但需要命令行訪問以便於批量分析......並且不想通過注冊SSH密鑰的方法。
這樣,你可以使用Tortoise Plink.exe與用戶名和密碼的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.