1. 程式人生 > >關於連線不上SVN的部分解決方案——No repository found in svn localhost

關於連線不上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

然後先執行了這個命令:

kill all  svn serve

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


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

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

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

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

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

以上只是部分解決方案,希望哪位對SVN瞭解並熱於幫助別人的朋友進行補充,謝謝!
--------------------- 
作者:island0319 
來源:CSDN 
原文:https://blog.csdn.net/island0319/article/details/70132703 
版權宣告:本文為博主原創文章,轉載請附上博文連結!