搭建本地SVN服务器完整流程

原创
2016/11/30 23:24
阅读数 243

1、安装SVN的服务器端subversion

2、安装SVN的客户端TortoiseSVN

3、搭建SVN的仓库,比如我在E盘的根目录下创建了一个SVN的目录,在SVN目录下又创建了一个目录SVNRep,用来存放各个项目的,比如我在该目录下又创建了三个目录OA、ERP、CRM,分别用来存放三个不同的项目。

4、创建版本库

4.1、打开cmd,进入到相关目录下,比如我进入OA项目下

然后执行DOS命令:svnadmin create E:\repository\SVNRep\OA

完了之后,我们可以看到在OA目录下多了这些文件:

5、启动服务器

-r:表示版本库的根目录

-d:表示后台执行程序

我们依然打开cmd,然后输入如下命令:

回车执行该命令,然后会弹出一个对话框,问我们是否允许subversion访问网络,点允许访问。

怎么测试服务已经启动了呢?

看3690端口是否被监听:

像这样服务就启动了,但是要保证服务器一直开着,就必须保证执行svnserve -d -r E:\repository\SVNRep\OA的窗口一直保留,这样其实是很不方便的。

 对此,我们可以注册一个window服务,让该svn服务随着系统启动而启动

6、注册window服务

打开cmd,执行如下dos命令

sc create SVNService binpath= "D:\Programming\subVersion\setlocation\bin\svnserve.exe --service -r E:\repository\SVNRep"        start= auto depend= Tcpip

我们在服务里面可以看到,SVNService已经启动了

此时服务已经启动成功了

7、checkout命令

我们在cmd窗口输入 svn checkout svn://localhost/OA命令

但是出错了,如下图提示:

有人说是因为TortoiseSVN(客户端)的版本比Subversion(服务端)的版本要高

我的TortoiseSVN的版本:1.9.2

我的Subversion的版本:1.8.8

然后我将TortoiseSVN版本降至1.8.1,还是会出现上面的错误。

经过网上一番查找,终于找出了问题:

问题真实原因:

可以看到第四步和第五步

我是先执行了第四步,创建了OA,ERP,ORM这些版本库,然后再执行第五步,启动服务。而在启动服务之前创建的版本库是无效的

后来我在启动服务之后,通过svnadmin create E:\repository\SVNRep\Test创建一个新的版本库

然后再通过svn checkout svn://localhost/Test 取出这个版本库,这时候就没有错误了。

现在我们成功将服务端的Test目录checkout到E:\svnClient\MyOA\Test里面了,这时候我们在Test文件夹里面有一个.svn文件夹,这是一个隐藏文件夹,用来客户端与服务端的一个连接作用,不要将它删掉了。

8、commit命令

8.1、首先我们在E:\svnClient\MyOA\Test下面新建一个文件名为helloSVN.txt的文件

8.2、执行提交命令 进入 Test 目录下面,执行svn commit helloSVN.txt命令,但是出现了如下错误:“xxxxxx”尚未纳入版本库

8.3、将helloSVN.txt纳入版本库:执行命令 svn add helloSVN.txt,完了之后会有如下响应 A helloSVN.txt

其中:A表示文件的状态 刚刚加入进来

8.4、再次提交,还是会出现错误,错误如下:

他给我们提示的错误原因是没有提交日志

8.5、增加提交日志,再次commit,仍然没有成功,提示错误为认证失败。

8.6、找到E:\repository\SVNRep\Test\conf目录下的svnserver.conf文件

将该文件的第19行的注释去掉,并将read改为write

改后如下:

8.7、再次执行提交命令:终于成功了

9、另一个用户(Tom)从服务端checkout出来项目,修改后并提交,假设Tom所在的目录为:E:\svnClient\Tom

该操作大家可以去尝试做一下

最后提供一下课程地址:http://www.chuanke.com/v1982732-196863-1122355.html,我是根据百度传课的视频教程来进行操作的,希望对大家有用,有不明白的可以咨询我,或者对着视频认真看。

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部