TortoiseSVN服务端的配置与使用

时间:2024-03-10 15:19:44

客户端访问方式

说明

svn://

通过TCP/IP自定义协议访问svnserve服务器。

http://

通过WebDAV协议访问支持Subversion的Apache服务器

https://

与http://相似,但是用SSL加密访问。

file://

直接通过本地磁盘或者网络磁盘访问版本库。

svn+ssh://

通过认证并加密的TCP/IP自定义协议访问svnserve服务器

TortoiseSVN软件不仅是svn客户端,也包含了svn服务端。

VisualSVN Server是配合了http server来使用。

clip_image002

1 file:/// & file://

file:///D:/path/to/repos/

本机访问

file://ServerName/path/to/repos/

访问网络共享中的版本库,你可以使用驱动器影射或使用UNC路径

优点:不需要运行任何程序,就可以达到文件版本管理目标。

1.1 创建库

1.1.1 右键菜单创建

创建空白文件夹:d:\ svnRepositoryTest

clip_image004

1.1.1.1 创建库时创建默认目录结构

一般不使用这种方式,因为实际中使用库/项目名/目录结构

clip_image006

clip_image008

1.1.1.2 通过导入创建目录结构

找到要导入的目录,目录自身不会被导入

clip_image010

clip_image012

clip_image014

clip_image016

1.1.2 svnadmin创建

svnadmin create d:\svnREPOS

服务端命令

1. svnserver - 控制svn系统服务的启动等

2. svnadmin - 版本库的创建/导出/导入/删除等

3. svnlook - 查看版本库的信息等

客户端命令

1. svn - 版本库的检出/更新/提交/重定向等

1.1.3 svn客户端检出与提交

更新/检出

clip_image018

clip_image020

提交

clip_image022

clip_image024

clip_image026

2 svn://ip/

2.1 创建库

与file///方式一样,D:\svnRepository\

2.2 配置库

2.2.1 conf\svnserve.conf(库默认配置)

默认全部是注释的

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

 

anon-access:匿名用户权限

auth-access:访问用户权限

password-db:用户与密码文件路径(相对路径/绝对路径)

authz-db:用户组与权限的文件路径(相对路径/绝对路径)

通过指定相同的文件,达到多库使用一套权限

read 指允许更新代码

write 指允许更新代码,也允许提交代码

none 指什么都干不了

2.2.2 conf\passwd (用户与密码)

[users]

user1 = 123456

user2 = abcdef

 

用户 = 密码

2.2.3 conf\authz(用户组与权限)
2.2.3.1 别名配置

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

2.2.3.2 用户组配置

组名 = 用户1,用户2,...,用户n

[groups]

admin = user1,user2

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

2.2.3.3 版本库的目录授权

[/] 表示版本库的根目录,[/foo/bar] 表示版本库根目录下的 foo 文件夹下面的 bar 文件夹,注意区分大小写

r更新 w提交 @用户组不是用户 *除了以上的所有其他用户 ~反向选择

$authenticated通过验证的用户 $anonymous匿名用户

[/]

@admin = rw

# [/foo/bar]

# harry = rw

# &joe = r

# * =

2.2.3.4 repository版本库下目录

[repository:/] 表示repository版本库的根目录,[repository:/baz/fuz] 表示repository版本库目录下的 baz 文件夹下面的 fuz 文件夹

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

注意:多版本库时,通过 一份conf\svnserve.conf文件配置所有库的权限。

2.3 启动服务端

start svnserve -d -r d:\svnRepository

2.3.1 注册系统服务

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

2.4 svn客户端访问

svn://192.168.17.1/Axure/Sunlord

clip_image028