1.下载程安装SVN服务器和TortoiseSVN
2.创建SVN仓库
- 使用svn命令:
- svnadmin create D:\svnRoot
- 使用TortoiseSVN:
- 右键->TortoiseSVN->在此创建版本库
3.开启svn服务
- 命令行开启:
-svnserve –d –r D:\svnRoot
- 或者将svnserve设置为系统服务
-sc create SVNserve binPath= "c:\Program Files\Subversion\bin\svnserve.exe --service -r D:\svnRoot" DisplayName= "SVNserve" depend= Tcpip start= auto
sc create : 创建一个系统服务
SVNserver 服务名字,当删除该服务的时候使用
binPath= "c:\svn\bin\svnserve.exe --service -r d:\dyu_repo" 服务的可执行文件和参数
DisplayName= "SVNService" 显示的服务名称,在管理工具->服务中查看时看到的名称
depend= Tcpip start= auto 该服务依赖项和启动方式,自动启动
需要注意,在上面的命令行中,所有的"="后面都必须有空格,另外注意引号格式
- 删除svn服务
- sc delete SVNServe
4.配置svn用户和密码
- 配置用户和权限
来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。
- SVN权限管理
svn的权限管理涉及到一下文件:
passwd文件 -- /conf目录下 用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
authz -- /conf目录下 用于存放本svn库的访问授权信息。
SVNserve.conf /conf目录下 用于存放本svn库的全局访问控制信息。
最重要的是authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
authz文件中可以对任意多个目录进行权限控制,一下是一个例子:
[groups]
# 注释行,定义了admin和ph两个组以及两个组的成员
admin = harry,sally
ph = hy,jim
[/foo/bar]
harry = rw
# 以*为键值意味着对所有人都进行权限控制
* =
# 以@为键值意味着对前面定义的组进行授权
@admin = rw