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

今天如往常同樣作事,期間發現一個問題,因而就打算將文件與 svn 上的文件進行對比,可誰成想 Eclipse 忽然彈框報錯,而後我到SVN資源庫中直接刷新打開 svn 的地址,又彈框報錯:文件夾不存在,第一反應是服務器的 svn 服務應該掛了,因而上線看了看,發現果真 svn 的服務掛了,因而從新啓動,結果發現仍是沒有,以爲鬱悶之餘,也開始將近 2 個小時的百度之旅——緩存

因爲報錯的其中一句「 SVN Unable to connect to a repository at URL 」在網上找到最多的解決方案大概就是下面這個了吧:
     一、右鍵點擊本地,TortoiseSVN → Settings → Saved Data
     二、在完成上面步驟後出現的界面上,點擊各個「 Clear 」按鈕,把本地緩存清楚了,而後「 肯定 」
     三、最後就能夠進行SVN的檢出、更新、提交等一系列的操做了。
( 這個方法是認爲本身電腦上的問題,並且裝好了 SVN 客戶端的比較方便操做,其實無非就是清緩存。 )服務器

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

svnserve -d -r svn的倉庫路徑 svn

如:server

svnserve -d -r /usr/svn/svnData進程

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

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

而後先執行了這個命令:it

killall  svnservecli

這個命令是將 svn 相關的服務進程所有殺掉,也就是中止 SVN 服務,而後再執行以前的那個命令就能夠了。
果真,這麼作了以後,問題的確解決了。


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

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

這個命令和以前的命令類似,就是多出來一個「 --listen-port 3691 」,爲何要這麼作呢?爲何不能直接用那個命令呢?

緣由很簡單:
     因爲 svn 的端口默認是 3690 ,並且以前若是執行了一次啓動命令的話,再執行又會出現那個錯誤提示,可是以前的 svn 要用的,無法 kill 掉,因此只有將如今這個要啓動倉庫的端口改一改,不讓它與第一個倉庫起衝突,因此多出來一個「 --listen-port 3691 」

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

相關文章
相關標籤/搜索