搭建SVN服务器
安装好后,创建/svn文件夹
进入svn文件夹,svnadmin create repository1
则出现一个repository1文件夹,进入,看到conf文件夹,里面有三个文件,
svnserve.conf配置:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = 104Repository(repository显示名称,随便起)
passwd文件
[users]
zhangsan = zhangsanpassword
lisi = lisipassword
authz文件
[groups]
content = zhangsan,lisi
[repository:/]
@content = rw
zhangsan = r
其中,authz文件设置跟启动参数有关,分单库模式和多库模式:
A:-r直接指定到版本库(称之为单库svnserve方式)
比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve
svnserve -d -r D:\svn\project1
在这种情况下,一个svnserve只能为一个版本库工作
authz文件如果配置成下面这样就是错的,
[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
应该配置成
[groups]
admin=user1
dev=user2
[/]
@admin=rw
@doc=r
因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1
B:-r指定到版本库的上级目录(称之为多库svnserve方式)
同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve
svnserve -d -r D:\svn
这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2
启动命令:
svnserve -d -r /svn/repository1/ --listen-port 3690 --listen-host 192.1.1.104(单库)
或者svnserve -d -r /svn/ --listen-port 3690 --listen-host 192.1.1.104(多库)