[英]svn hangs on checkout in Windows
嘗試使用svn checkout svn+ssh://USER@REPO .
存儲庫svn checkout svn+ssh://USER@REPO .
我已將%SVN_SSH%
變量設置為在調用plink.exe
時包含-v
標志,並且我得到的最后一個日志是Using username "USER".
之后,命令行無限期掛起。
我在嘗試使用 TortoiseSVN 和 Intellij 中的 Subversion 集成簽出存儲庫時遇到了類似的問題。
我使用 PuTTY 連接到服務器或直接在命令行中調用plink
沒有問題。 將-v
標志與plink
,我會在使用svn checkout
掛起的行之后立即提示我輸入密碼。
我有 Windows 7 Ultimate SP 1,svn 版本 1.8.13,plink 版本 0.60。
問題似乎是您必須對 SVN 使用公鑰身份驗證才能在 Windows 中正確使用 SSH。
網上有一些關於如何做到這一點的教程,但對我有用的是這個: http : //support.suso.com/supki/SSH_Tutorial_for_Windows
我在其他教程中沒有發現的重要區別是使用chmod
命令來更改對服務器上公鑰文件的訪問權限。
現在說可能為時已晚,但我也遇到過類似的問題。 在我的情況下,問題出在plink.exe
的命令行中。
要正確解決所有問題並且不要輸入無限的登錄名和密碼:
pageant.exe
添加ppk密鑰,避免手動輸入密碼。-l "<username>"
參數的SVN_SSH
環境變量以避免手動輸入用戶名並避免使用 svn 存儲庫 URL 中的用戶名。-batch
參數的SVN_SSH
環境變量以避免在腳本模式下掛起。 生成的SVN_SSH
環境變量應如下所示:
SVN_SSH="<path-to-plink>/plink.exe" -batch -l "<USER>"
警告: SVN_SSH
變量中路徑中的反斜杠字符是轉義字符,您必須使用 double 對其進行自我轉義或將其替換為正斜杠 - /
。
但是要小心git svn
命令,因為SVN_SSH
變量可能會破壞 git 的消息:
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.
在這種情況下,您必須改用msys
或cygwin
工具中的ssh-pageant
。
我已經創建了另一篇文章,詳細描述了如何為svn.exe
和git.exe
逐步執行此git.exe
: How to use git-svn with svn+ssh url
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.