记一次搭建SVN服务

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

记一次搭建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。

安装后,文件目录如下:

image-20211012174753184

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

image-20211012174907326

数据仓库

只有服务器没有数据仓库subversion还是不能正常使用,因为我们需要让它为我们管理数据,所以接下来我们进行第二步:subversion版本库的创建

  1. 任意位置创建一个文件夹,例如:D:\APP\SubversionRepository 作为根目录。

  2. 根目录下创建一个项目,例如:D:\APP\SubversionRepository\testRepo

  3. 输入命令svnadmin create D:\APP\SubversionRepository\testRepo 创建一个版本库

  4. 命令执行完后,可以看到testRepo目录下新增了一些文件,如下:

    image-20211012175653903

  5. 创建了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					仓库地址

出现如下图即表示成功:

image-20211012180615612

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

image-20211012181110802

配置svn用户

客户端在连接时,需要使用用户访问,并且可以设定svn用户的访问权限

打开D:\APP\SubversionRepository\testRepo\conf目录

image-20211012181449247

  1. 修改svnserve.conf,打开如下注释
[general]
#匿名用户无法读写
anon-access = none
#验证用户可以读写 
auth-access = write
#指定用户名密码配置文件为passwd
password-db = passwd
#指定权限配置文件为authz
authz-db = authz
  1. 修改passwd文件
[users]
#用户名=密码
testRead = admin111111
testWrite = admin111111
  1. 修改authz文件
[groups]

[/]
testRead = r
testWrite = rw
  1. 重启svn服务

安装Tortoise客户端

使用Tortoise工具连接svn服务,通过图形化界面操作svn版本管理。

下载地址:https://tortoisesvn.net/downloads.html

安装成功后,右键空白处出现SVN Checkout 和TortoiseSVN

image-20211012182733292

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

image-20211012182944709

  1. 输入用户密码

    image-20211012183129252

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

  3. 加入一个文件,右键,SVN commit

    image-20211012183355884

  4. 会报错认证失败,这是因为我用的是只读用户,现在点击:Retry as different user,填写读写用户,可以看到,提交成功!

  5. 测试其他用户拉取远程仓库,创建一个目录,例如:D:\testanotheruser,同样SVN checkout,可以看到刚才上传的文件

    image-20211012183813572

常见问题

修改仓库url

我们之前创建的仓库url是:svn://127.0.0.1/testRepo

想要修改testRepo名字,可以在仓库根目录中(D:\APP\SubversionRepository)修改testRepo名称即可(注意先备份一下),修改后,用户再次访问时,就需要重新输入svn 远程url地址了。

切换用户

  1. settings

image-20211012183902615

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值