下载
Subversion(SVN服务端):下载地址1 下载地址2
TortoiseSVN(SVN客户端): 下载地址1 下载地址2
安装
SVN客户端需注意下图中要将“command line client tools”更改为“Will be installed on local hard drive”
建立版本库
方式一: 使用命令
svnadmin create D:\svnroot
方式二: 使用TortoiseSVN客户端工具
首先,创建D:\svnroot文件夹,在该文件夹中,右键 -> TortoiseSVN -> Create Repository here
注意:版本库路径不能有空格,版本库目录必须为空文件夹
配置
svnserve.conf,服务配置文件,控制 svnserve 的启动配置选项,可以配置认证和授权方式
[general]
### 未认证用户无任何权限,如果这里不改,不输入密码就可获得代码版本
anon-access = none
### 已认证用户给予写权限(当然也可以读)
auth-access = write
### 表示访问仓库的认证有文件 passwd 提供的账户确定
password-db = passwd
### 表示认证后的账户访问权限由文件 authz 定义
authz-db = authz
passwd,认证配置文件,控制认证的方式来控制访问权限。也可以使用匿名方式,但不推荐
[users]
### 定义了两个用户harry和sally,密码分别为harryssecret和sallyssecret
harry = harryssecret
sally = sallyssecret
authz,授权配置文件,控制授权
定义组
[groups]
### 定义了一个组,harry_and_sally, 包含harry和sally两个成员
harry_and_sally = harry,sally
注意:组成员必须是passwd中定义的才有效
定义目录访问权限
[/foo/bar]
### harry对目录/foo/bar有读写权限
harry = rw
### 其它人对目录/foo/bar没有权限
* =
[repository:/baz/fuz]
### harry_and_sally组对目录repository:/baz/fuz有读写权限
@harry_and_sally = rw
### 其它人对目录repository:/baz/fuz有只读权限
* = r
注意:[/] 表示整个仓库的根,组的引用使用 @ ,对应的权限可以是 r,w,rw 或空
服务
安装服务(假设Subversion安装在D:\program Files\Subversion, svn版本库建立在D:\svnroot)
SC create svnservice binPath= "\"D:\Program Files\Subversion\bin\svnserve.exe\" --service --root \"D:\svnroot\"" displayname= "SVNService" depend= Tcpip start= auto
注意:
1. 如果路径中包含空格,需要加“”,然后用 \ 转义;
2. 严格注意格式,如depend= Tcpip,不能写为depend = Tcpip或者depend=Tcpip。也就是=前不能有空格,=后必须有空格
启动服务
net start svnservice
停止服务
net stop svnservice
删除服务
sc delete svnservice
导入项目
在要导入的项目上,右键 -> TortoiseSVN -> Import
注意:建议在URL of repository跟上自己的项目名称,如上面HCP
导出项目
右键 -> TortoiseSVN -> SVN Chckout
注意:项目导入后,需要在下一次导出时,才显示同步状态icon图标