前言

公司有个项目需要用到SVN,由于博主之前一直用的是git,对于这方面很是不熟,经过一段时间的折磨,终于也是成功用idea连通了SVN。

认识SVN

SVN是Subversion的缩写,是一个开放源代码的版本控制系统。作用和git差不多。那么如果你想要拉取svn上的项目,就需要先去下载工具。博主在网上发现有很多工具,那么到底该下那个呢?下面就来简单介绍一个这几个工具。
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端。
VisualSvn Server是SVN的服务器端,它里面包括Subversion、Apache等。
另一个是Subversion,前面做了介绍,这里就不再赘述了。
注意:如果你只是拉取项目,只需要下载TortoiseSVN客户端(官网)即可。

错误

简单认识了SVN后,接下来就聊一下,在用IDEA拉取SVN项目中会遇到的一些问题及解决方案。

以下是错误 Unable to connect to a repository at url , 意思是无法连接到url的存储库。

idea使用Java Flight Recorder idea使用svn拉取项目_git

处理方案

以下几种处理方案,有的是总结网上的,有的是我自己试出来的。

第一种

这种是以前登录了svn,本地缓存了账户密码,导致连接失败。

在桌面右键,TortoiseSVN -> Settings -> Saved Data

点击所有Clear按钮,清楚本地缓存

idea使用Java Flight Recorder idea使用svn拉取项目_IP_02


这种我试过了,无法解决我的问题。

第二种

这种和第一种差不多,就是让你重写输入账户密码的一种方式,其实这里我不太理解的是,为什么要把端口改成8080,其实你的端口必须根据你所拉取的项目地址来。我个人认为这里改成8080是因为本来路径的端口就是8080,所以这种方法大家根据个人情况来吧。

把URL改为http://IP(这里没有写出来):8080/svn/handheld就OK了,但这样需要输入IP地址不方便,需要做域名解析。在C:\Windows\System32\drivers\etc\hosts文件增加”IP地址svn”即可,比如192.168.1.1这是svn服务器的IP地址。

1.这种方法就是在用idea的Get from Version Control添加你所要导入的项目地址并拉取下来。

idea使用Java Flight Recorder idea使用svn拉取项目_客户端_03

2.选择仓库类型,Subversion就是svn了,再选择项目地址,接着Check Out,如果此时你将端口改为8080,点击地址栏下拉选项就会让你输入密码和账户了。

idea使用Java Flight Recorder idea使用svn拉取项目_IP_04


但这种方法我依然无效,它会一直重复让你输账户密码。

然后我试了很多方法,卸载重装了好几次,都没用。

第三种

这种方法是我试了n次以后,突然想到的有一个步骤被忽略了,就是我最开始用的是右键checkout检出项目的形式,将项目拉取了下来,接着想用idea连接,就报错误。这里其中一步就是,当你第一次拉取项目的时候,你需要去验证用户密码,在验证之前,会让你选择获取证书方式,是永久还是一次性。我手残选了一次,所以就导致了这个困扰我一下午的bug!下面详细说一下流程

1.随意找一个空文件夹,右键检出

idea使用Java Flight Recorder idea使用svn拉取项目_svn_05


注意:这个选项是你安装了TortoiseSVN客户端才会有的,1.14和1.10都可以。2.在这里填入所要拉取的svn项目地址https://…是一个完整路径

idea使用Java Flight Recorder idea使用svn拉取项目_svn_06


3.这一步很关键了,当你上一步点击ok后,就会让你选择获取证书方式。这里第一个选择是永久,第二个是一次。这里选第一个

idea使用Java Flight Recorder idea使用svn拉取项目_客户端_07

4.当你选择证书后,就填写账户密码即可。

5.这个时候再用第二种方案,就可以看到地址栏下拉选项不报错了。

其他问题

1.安装TortoiseSVN客户端时,安装第二个插件。不然无法拉取项目

idea使用Java Flight Recorder idea使用svn拉取项目_客户端_08

2.看svn是否给了你这个账户权限,网上有些小伙伴,所有方法都尝试过了,结果是没有权限,这就很无语了。白浪费时间
3.账户密码是否错误。