SVN 创建版本库
使用 svn 命令创建资源库:
[aizws@centos6 ~]# svnadmin create /opt/svn/aizws01 [aizws@centos6 ~]# ll /opt/svn/aizws01/ total 24 drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 conf drwxr-sr-x 6 root root 4096 2016/08/23 16:31:06 db -r--r--r-- 1 root root 2 2016/08/23 16:31:06 format drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 hooks drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 locks -rw-r--r-- 1 root root 229 2016/08/23 16:31:06 README.txt
进入 /opt/svn/aizws01/conf 目录,修改默认配置文件配置,包括 svnserve.conf、passwd、authz 配置相关用户和权限。
1. svn 服务配置文件 svnserve.conf
svn 服务配置文件为版本库目录中的文件 conf/svnserve.conf。该文件仅由一个 [general] 配置段组成。
[general] anon-access = none auth-access = write password-db = /home/svn/passwd authz-db = /home/svn/authz realm = tiku
- anon-access: 控制非鉴权用户访问版本库的权限,取值范围为 "write"、"read" 和 "none"。 即 "write" 为可读可写,"read" 为只读,"none" 表示无访问权限,默认值:read。
- auth-access: 控制鉴权用户访问版本库的权限。取值范围为 "write"、"read" 和 "none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write。
- authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz。
- realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
2. 用户名口令文件 passwd
用户名口令文件由 svnserve.conf 的配置项 password-db 指定,默认为 conf 目录中的 passwd。该文件仅由一个 [users] 配置段组成。
[users] 配置段的配置行格式如下:
<用户名> = <口令>
[users] admin = admin thinker = 123456
3. 权限配置文件
权限配置文件由 svnserve.conf 的配置项 authz-db 指定,默认为 conf 目录中的 authz。该配置文件由一个 [groups] 配置段和若干个版本库路径权限段组成。
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
[groups] g_admin = admin,thinker [admintools:/] @g_admin = rw * = [test:/home/thinker] thinker = rw * = r
本例是使用 svnserve -d -r /opt/svn 以多库 svnserve 方式启动 SVN,所以 URL:svn://192.168.0.1/aizws01。
下一章:SVN 检出操作
我们创建了版本库 codebaoku01, URL 为 svn://192.168.0.1/codebaoku01。其中:svn 用户 user01 有读写权限。我们就可以通过这个 URL 在客户端对版本库进行检出操作。svn checkout http://svn.server.com/svn/project_repo --username=user01