關於連接不上SVN的部分解決方案——No repository found in svn localhost


今天如往常一樣做事,期間發現一個問題,於是就打算將文件與 svn 上的文件進行對比,可誰成想 Eclipse 突然彈框報錯,然后我到SVN資源庫中直接刷新打開 svn 的地址,又彈框報錯:文件夾不存在,第一反應是服務器的 svn 服務應該掛了,於是上線看了看,發現果然 svn 的服務掛了,於是重新啟動,結果發現還是沒有,覺得郁悶之余,也開始將近 2 個小時的百度之旅——

由於報錯的其中一句「 SVN Unable to connect to a repository at URL 」在網上找到最多的解決方案大概就是下面這個了吧:
     1、右鍵點擊本地,TortoiseSVN → Settings → Saved Data
     2、在完成上面步驟后出現的界面上,點擊各個「 Clear 」按鈕,把本地緩存清楚了,然后「 確定 」
     3、最后就可以進行SVN的檢出、更新、提交等一系列的操作了。
( 這個方法是認為自己電腦上的問題,而且裝好了 SVN 客戶端的比較方便操作,其實無非就是清緩存。 )

是的,現在這個方法對於我遇到的這個是沒有用的,於是我用我自己服務器上的 svn 進行了實驗,發現並不是自己電腦的問題,而且報錯的代碼里面還有這么一句話「 No repository found in 」這讓我想到,或許真的是服務器上的問題,於是我便根據這句話去進行查找,發現有這么一個回答「 svn 服務未啟動;如果啟動了的話,可能是在啟動的時候沒有指定 svn 倉庫路徑 」於是,我嘗試了一下命令:

svnserve -d -r svn的倉庫路徑 

如:

svnserve -d -r /usr/svn/svnData

結果出現了一個錯誤提示:

svnserve: Can't bind server socket: Address already in use

然后先執行了這個命令:

killall  svnserve

這個命令是將 svn 相關的服務進程全部殺掉,也就是停止 SVN 服務,然后再執行之前的那個命令就可以了。
果然,這么做了之后,問題的確解決了。


PS( 以下都是 PS ):
最后的最后提一嘴,如果有多個 SVN 的倉庫路徑怎么辦呢?

svnserve -d -r /mnt/svn/svnData2 --listen-port 3691

這個命令和之前的命令相似,就是多出來一個「 --listen-port 3691 」,為什么要這么做呢?為什么不能直接用那個命令呢?

原因很簡單:
     由於 svn 的端口默認是 3690 ,而且之前如果執行了一次啟動命令的話,再執行又會出現那個錯誤提示,但是之前的 svn 要用的,沒法 kill 掉,所以只有將現在這個要啟動倉庫的端口改一改,不讓它與第一個倉庫起沖突,所以多出來一個「 --listen-port 3691 」

最后總結一下:
     這次的這個問題其實並不難,只是有時可能就是找了比較久,暫時還沒有找到,就有點受打擊了,有的問題可以冷靜下來慢慢思考,不用一味地盯着百度上的答案,應該想想,排除一些不必要的問題,換一個方向去找問題,這樣的話,也許會發現問題原來這么簡單。哈哈^-^ 果然,解決問題之后的感覺挺好的~

本文轉載自:https://blog.csdn.net/island0319/article/details/70132703


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM