现在理论上是不用手动添加,娘的一路下一步总是有问题,备份一个。
1 安装svnservice(是一个服务)
a 在Windows NT中本身包含了一个安装服务的工具"Service Control",也就是sc.exe。
b 例如我的Subversion安装在"D:/csvn/bin",想建立版本库在"D:/svn_repository",
对应的Subversion服务名为svnservice,希望自动启动(不写start= auto,就为手动)
安装这个svn服务的命令就可以这样写:
>sc create svnservice binpath= "D:/csvn/bin/svnserve.exe --service -r D:/svn_repository" displayname= "SVNService" depend= Tcpip start= auto
c 这里安装的是一个服务,如果误装了,删除用:
>sc delete svnservice
2 启动服务
用控制面板中的服务界面启动,或是用命令
>net start svnservice
3 然后用TSvn创建版本库,会生成下面的目录:
├─conf
├─dav
├─db
│ ├─revprops
│ ├─revs
│ └─transactions
├─hooks
└─locks
4 svnserve下的配置文件
在conf下有三个文件authz,passwd,svnserve
svnserve.conf是这个版本库的配置文件
a 这个两个配置决定了使用什么认证和授权文件,如果多版本库的时候,可以用这个改变路径便于管理
password-db = passwd
authz-db = authz
b 应该保证所有的版本库使用相同的realm值,这样对版本库的密码缓存可以在多个版本库之间共享。
realm = My First Repository
c 表示什么需要验证用户,什么不需要验证用户
anon-access = none
auth-access = write
d 表示通过密码验证
password-db = passwd
e 表示以路径为基础的授权
authz-db
passwd为用户密码文件,用户和密码文件应该是在passwd 用户名 = 密码
[users]
p1_admin1 = p1_admin1
p1_d1 = p1_d1
p1_t1 = p1_t1
p2_admin1 = p2_admin1
p2_d1 = p2_d1
authz为授权文件,定义组信息 组名 = 用户名
[groups]
p1_group_a = p1_admin1
p1_group_d = p1_d1
p1_group_t = p1_t1
p2_group_a = p2_admin1
p2_group_d = p2_d1
p2_group_t = p2_t1
[/] *表示若有用户 rw表示读写
# 指定所有的版本库默认只读,root可读写
* = r
root = rw