创建版本库
# 创建版本库
svnadmin create G:\zm\test
创建版本库之后的目录:
目录 | 说明 |
---|---|
db | 所有版本控制的数据文件 |
conf | 配置信息 |
hooks | hook脚本文件的目录 |
locks | 用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端 |
format | 文本文件,里面只放了一个整数,表示当前文件库配置的版本号 |
主要看conf目录
svnserve.conf
[general]
; 控制非鉴权用户访问版本库的权限,"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:read
anon-access = none
; 控制鉴权用户访问版本库的权限,"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write
auth-access = write
; 用户密码文件,默认passwd
password-db = /home/svn/passwd
; 权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz
authz-db = /home/svn/authz
; 指定版本库的认证域,即在登录时提示的认证域名称,若两个版本库的 认证域相同
realm = tiku
passwd文件
配置用户和密码
[users]
; 用户名 = 密码
tim = 123456
allen = 123456
authz文件
配置【authz】文件
; 配置组
[groups]
; 组名 = 用户1,用户2,...用户n
admins = admin,tim
others = bob,allen
; 配置路径权限,/指所有路径,即:该版本库路径下的所有文件
[/]
; admins组分配读写权限
@admins = rw
; others组分配只读权限
@others = r
; 该版本库下的data目录的权限
[/data]
; others组分配读写权限
@others = rw
启动svn服务
svnserve -d -r G:\zm\test --listen-port 3690
参数 | 说明 |
---|---|
-d | 设置为后台模式 |
-r | 指定服务目录 |
–listen-port | 指定监听端口,默认3690 |
-r参数指定目录可以是svnadmin create dir命令中的dir目录,也可以是dir目录的父级目录。
父级目录中往往包含多个版本库,这个时候,authz文件配置路径权限就有点不同了,需要把路径加上。
[groups]
admin=user1
dev=user2,user3
[test:/]
@admin=rw
user2=r
[test2:/]
@admin=rw
user3=r
url也需要加上路径,从svn://127.0.0.1/,变为类似于:svn://127.0.0.1/test
svn常用命令
# 查看SVN服务器中的文件
svn ls svn://127.0.0.1
# 检出文件
svn checkout svn://127.0.0.1/
svn checkout svn://127.0.0.1/ --username 'tim' --password '123456' --no-auth-cache
# 添加文件
svn add file1 file2 file3
# 撤销修改
svn revert data.txt
# 查看副本状态
svn status
# 更新工作副本
svn update
# 提交
svn commit -m "say something"
# 查看修改
svn diff