记一次搭建SVN服务
需求
搭建一个svn服务,建立两个用户,权限分别为读写、只读。利用TortoiseSVN 客户端连接服务,测试远程添加文件,提交仓库,删除文件等功能。
使用工具
TortoiseSVN-1.14.1.29085-x64-svn-1.14.1
Setup-Subversion-1.8.17.msi
搭建步骤
SVN服务器
下载
下载地址:https://sourceforge.net/projects/win32svn/
下载后根据安装引导安装即可,注意修改安装目录,例如:D:\APP\Subversion。
安装后,文件目录如下:

打开命令窗口,测试是否安装成功(默认安装后会自动加入系统环境变量中,所以随意目录都可以):

数据仓库
只有服务器没有数据仓库subversion还是不能正常使用,因为我们需要让它为我们管理数据,所以接下来我们进行第二步:subversion版本库的创建
-
任意位置创建一个文件夹,例如:D:\APP\SubversionRepository 作为根目录。
-
根目录下创建一个项目,例如:D:\APP\SubversionRepository\testRepo
-
输入命令
svnadmin create D:\APP\SubversionRepository\testRepo创建一个版本库 -
命令执行完后,可以看到testRepo目录下新增了一些文件,如下:

-
创建了testRepo版本库,svn就会对它进行管理了。
启动svn服务
svn服务器必须处于运行状态下才能响应客户端的请求(checkout ,commit,update…)
所以我们需要启动svn服务。有两种方式,推荐第二种:
1、命令行的方式
主命令:svnserve -d(后台执行) -r(版本库根目录)
例如:svnserve -d -r D:\SVNrepository\ 回车之后,光标一直处于闪动状态说明svn服务器已经启动
2、注册windows服务(设置开机启动)
命令:
sc create SVNservice binpath= "D:\APP\Subversion\bin\svnserve.exe --service -r D:\APP\SubversionRepository" start= auto depend= Tcpip
#注意:使用管理员权限执行命令,并且注意空格的使用
#D:\APP\Subversion\bin\svnserve.exe Subversion 服务器安装地址
#D:\APP\SubversionRepository 仓库地址
出现如下图即表示成功:

重启电脑,在任务管理器中可以看到SVNservice自动启动了

配置svn用户
客户端在连接时,需要使用用户访问,并且可以设定svn用户的访问权限
打开D:\APP\SubversionRepository\testRepo\conf目录

- 修改
svnserve.conf,打开如下注释
[general]
#匿名用户无法读写
anon-access = none
#验证用户可以读写
auth-access = write
#指定用户名密码配置文件为passwd
password-db = passwd
#指定权限配置文件为authz
authz-db = authz
- 修改passwd文件
[users]
#用户名=密码
testRead = admin111111
testWrite = admin111111
- 修改authz文件
[groups]
[/]
testRead = r
testWrite = rw
- 重启svn服务
安装Tortoise客户端
使用Tortoise工具连接svn服务,通过图形化界面操作svn版本管理。
下载地址:https://tortoisesvn.net/downloads.html
安装成功后,右键空白处出现SVN Checkout 和TortoiseSVN

- 随意建一个文件文件夹,如:D:\testProject
- 右键,SVN Checkout ,出现如下界面,填写URL

-
输入用户密码

-
成功建立本地仓库,同时生成.svn文件夹

-
加入一个文件,右键,SVN commit

-
会报错认证失败,这是因为我用的是只读用户,现在点击:Retry as different user,填写读写用户,可以看到,提交成功!
-
测试其他用户拉取远程仓库,创建一个目录,例如:D:\testanotheruser,同样SVN checkout,可以看到刚才上传的文件

常见问题
修改仓库url
我们之前创建的仓库url是:svn://127.0.0.1/testRepo
想要修改testRepo名字,可以在仓库根目录中(D:\APP\SubversionRepository)修改testRepo名称即可(注意先备份一下),修改后,用户再次访问时,就需要重新输入svn 远程url地址了。
切换用户
- settings

- 清空验证数据,这样,再次拉取代码就会提示需要再次登录

本文详述了一次在Windows上搭建SVN服务的过程,包括安装SVN服务器,创建数据仓库,启动服务,配置用户权限,安装TortoiseSVN客户端,以及解决常见问题如修改仓库URL和切换用户。通过实例演示了如何实现多个用户的权限管理并成功进行文件的提交和拉取操作。

2682

被折叠的 条评论
为什么被折叠?



