第一步:创建本地的SVN仓库
a.创建如下路径的三个文件夹。
E:\repository\cms\svn,repository是本地仓库,cms是项目名,svn是用来存放建SVN生成的文件;
b.在SVN文件下右击,选择TortoiseSVN,再选择create repository here,生成如下文件,说明本地SVN仓库创建成功。(也可以用指令$ svnadmin creat svn,SVN使用命令行:不能在命令行下使用。需要到http://www.visualsvn.com/downloads/下载Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具,解压后把里面bin目录这个路径添加到环境变量的path,这样在cmd下就可以使用了,和Linux下使用svn的习惯一样了。)
第二步:配置config文件下的配置文件
注意:将配置项前面的#和空格都去掉
a.svnserve.conf(记得去掉注释符#后要顶格写,不然会有下文报的错误):
b.passwd:在[users]下面添加账号和密码
c.authz:配置用户组和权限,将不同的用户进行分组,对组中用户进行统一管理,使用[/]代表svn服务器中的所有资源库
第三步:启动SVN服务,使用批处理文件。
a.在cms的根目录下,新建一个svnStart.bat的启动文件。写入
svnserve -d -r E:\repository\cms\svn
保存。
b.双击该启动文件,出现如下窗口。说明SVN服务启动成功。
第四步:在eclipse中创建svn新的资源库。
(如何才能在eclipse中打开SVN资源库详见:http://www.jianshu.com/writer#/notebooks/16176317/notes/16667716)
a.在下图中的空白窗口处右击选择新建---资源库位置。
b.出现如下图窗口。URL写上自己的本地IP
c.添加svn资源库一直报错:
1)验证位置时发生错误:“org.apache.subversion.javahl.ClientException:svn:E210003:connection refuse by the server”。这个是因为没联网导致的。
URL地址有效在浏览器中打开会有如下显示:
2)、 [svn: E200002: line 19: Option expected错误解决]如下图这是因为修改svnserve.conf时,打开注释时,配置的前面有空格,应该顶格写。修改后即可。
修改顶格后:
3)、SVN服务器版本问题svn: E210004: Number is larger than maximum的解决办法:
安装了最新的subversion-1.8.1,eclipse里面使用svn会提示:svn: E210004: Number is larger than maximum,有人说是服务器subversion比eclipse里的插件版本高导致,要升级eclipse里的插件eclipse不支持subversion 1.8需要换成1.7,但是我这里subversion是1.8.0,而eclipse的是eclipse_svn_site-1.8.22,版本已经低了。所以还是不是这个问题。(所以说版本最好从最低的开始装,像我觉悟得晚,啥都认为新的好就痛苦了)又找到另一种说法,说是svn服务器比客户端的高,服务器subversion下载地址https://subversion.apache.org/download.cgi?update=201708081800。客户端tortoisesvn的下载地址https://tortoisesvn.net/downloads.html
我又下载的是slickSVN客户端,可自行选择。可以在http://www.sliksvn.com/en/download下载SlikSVN解决,SlikSVN也是一个客户端,添加得到版本(Slik-Subversion-1.8.19-x64)要比服务器(Setup-Subversion-1.8.0-1)高点。注意之前下了一根与服务器匹配的1.8.0还是不行。同时激活了JavaHL。
4)、svn:E125006:"E:\svn\demo1\db\format"包含非法文件系统格式选项“addressing logical”。这是我安装了新的服务器,没有重建SVN仓库导致的。
d:删除该路径下的auth文件夹里所有的登录信息
e.还是没有创建成功,后来发现是没有把SVN服务器跟仓库建立连接。还要检查自己的URL是否正确,复制到浏览器里看看能否打开。
要启动服务器,指定仓库的位置。
1)、启动(启动仓库把它写成了svn.bat文件,把该文件打开即可启动,也可以自己去把它注册成操作系统的开机启动服务。)
cmd控制台命令:
启动时指定仓库的路径不同分成了单仓库和多仓库:
公司的一般都是多仓库(就是很多项目对应的仓库在同一个根目录下)
cmd控制台命令:
启动:svnserve -d -r 仓库父目录 ,表示启动时多仓库
例如:svnserve -d -r E:\repository\svn
-d:后台执行
-r:版本库的根目录
E:\repository\svn\bos:仓库的路径
访问仓库:svn://localhost:3690(表示访问启动的目录--多仓库),svn://localhost:3690/bos(表示访问多仓库里的bo仓库相当于E:\repository\svn\bos)
单仓库:
启动:svnserve -d -r 仓库的根 ,表示启动时单仓库
例如:svnserve -d -r svn://localhost:3690/bos
访问:svn://localhost:3690(访问当前的启动的仓库路径)
回到eclipse创建资源库。这次终于没再报错,创建成功了。用户名:在authz的配置文件里,密码在paswd的配置文件里。这个URL是代码要分享到哪里的: svn://localhost:3690/bos
svn资源库添加成功。
测试:本地的项目检出成功:把bos项目下载到cms的文件夹里。
第五步:将搭建的web项目共享到SVN仓库
a.选中项目-右键单击-Team-Share Project
b.下一步,选择想要共享资源库的位置,下图是的路径是默认的与项目的代码平级的。
我们需要再项目下创建一个新的文件夹,存放要共享的代码。
c.下一步