svn客户端访问方式
| 客户端访问方式 | 说明 |
|---|---|
| svn:// | 通过TCP/IP自定义协议访问svnserve服务器。 |
| http:// | 通过WebDAV协议访问支持Subversion的Apache服务器 |
| https:// | 与http://相似,但是用SSL加密访问。 |
| file:// | 直接通过本地磁盘或者网络磁盘访问版本库。 |
| svn+ssh:// | 通过认证并加密的TCP/IP自定义协议访问svnserve服务器 |
TortoiseSVN 软件不仅是svn客户端,也包含了svn服务端。而 VisualSVN Server是配合了http server来使用。

file:///d:/repos/ 方式访问svn库
优点:不需要运行任何程序,就可以达到文件版本管理目标。
| file:///D:/path/to/repos/ | 本机访问版本库 |
| file://ServerName/path/to/repos/ | 访问网络共享中的版本库,你可以使用驱动器影射或使用UNC路径 |
创建库方式一:右键菜单创建
- 创建空白文件夹:d:\ svnRepositoryTest,后在此文件夹里创建版本库。

- 创建默认目录结构:一般不使用这种方式,因为实际中使用<库/项目名/目录>的结构


- 通过导入创建目录结构:找到要导入的文件夹,此文件夹自身不会被导入。




创建库方式二:svnadmin创建
svnadmin create d:\svnREPOS
服务端命令
- svnserver – 控制svn系统服务的启动等
- svnadmin – 版本库的创建/导出/导入/删除等
- svnlook – 查看版本库的信息等
客户端命令
- svn – 版本库的检出/更新/提交/重定向等
svn://ip/ 方式访问svn库
在服务端创建svn库,方法同上。
配置 conf\svnserve.conf 文件,(为svn库默认配置)
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
此文件默认全部是注释的,配置项的含义为:
- anon-access:匿名用户权限,可选值有:
- read 指允许更新代码
- write 指允许更新代码,也允许提交代码
- none 指什么都干不了
- auth-access:访问用户权限,可选值同anon-access。
- password-db:用户与密码文件路径(相对路径/绝对路径) 。
- authz-db:用户组与权限的文件路径(相对路径/绝对路径)。
虽然多snv库可以通过配置 password-db、authz-db相同的文件,达到多svn库使用一套权限。但实际中的结构是<库/项目名/目录>,通常一个库就够用了;而是通过配置项目的权限,做隔离。
配置 conf\passwd (用户与密码)
一行一个用户,格式为:用户 = 密码;如上示例,用户user1的密码为123456。
[users]
user1 = 123456
user2 = abcdef
配置 conf\authz (用户组与权限)
- 别名配置
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
- 用户组配置
- 一行一个组,格式为:组名 = 用户1,用户2,…,用户n;如上示例:admin组中有用户user1与user2。
[groups]
admin = user1,user2
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
- 版本库的目录授权
- [/] 表示版本库的根目录,[/foo/bar] 表示版本库根目录下的 foo 文件夹下面的 bar 文件夹,注意区分大小写。
- 用户组或用户
- @ 是用户组,不是用户;
- & * 除了以上的所有其他用户;
- ~ 反向选择;
- $authenticated 通过验证的用户;
- $anonymous 匿名用户。
- r 更新/读取、w 提交/写入。
[/]
@admin = rw
# [/foo/bar]
# harry = rw
# &joe = r
# * =
[repository:/] 表示repositoryr的svn库根目录,[repository:/baz/fuz] 表示repository的svn库目录下的 baz/fuz 子目录。
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
开放3690端口,启动svn服务端
svn是使用3690端口在客户端与服务端进行通讯的。
start svnserve -d -r d:\svnRepository
将SVN服务端,注册为系统服务,服务名为SVN:
sc create SVN binPath= "\"%ProgramFiles%\TortoiseSVN\bin\svnserve.exe\" --service --root d:\svnRepository" depend= TCPIP start= delayed-auto DisplayName= "TortoiseSVN Server"
启动、停止、删除系统服务
net start SVN
net stop SVN
sc delete SVN
svn客户端访问

发表回复