簡體   English   中英

svn 在 Windows 結賬時掛起

[英]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的命令行中。

要正確解決所有問題並且不要輸入無限的登錄名和密碼:

  1. 使用pageant.exe添加ppk密鑰,避免手動輸入密碼。
  2. 使用帶有-l "<username>"參數的SVN_SSH環境變量以避免手動輸入用戶名並避免使用 svn 存儲庫 URL 中的用戶名。
  3. 使用帶有-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.

在這種情況下,您必須改用msyscygwin工具中的ssh-pageant

我已經創建了另一篇文章,詳細描述了如何為svn.exegit.exe逐步執行此git.exeHow to use git-svn with svn+ssh url

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM