关于连接不上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 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/bbj12345678/article/details/84137513