iOS开发svnserver的搭建

来源:互联网 发布:美猎推荐 知乎 编辑:程序博客网 时间:2024/06/01 09:38

svnserver是MAC自带的一个轻型SVN服务器,可以用来管理用户和分配权限

需要强调的是本文介绍的配置文件只对svnserve服务有效,即客户端通过前缀为svn://或svn+ssh://的URL访问版本库有效,而对通过前缀http://、https://或file:///的URL无效。

一、创建仓库
新建一个目录 输入指令:mkdir svn
创建仓库 svnadmin create svn/workspace

 三、配置svn权限

主要是修改/svn/workspace/conf目录下的三个文件,查看命令open Users/kaifa/svn/workspace/  

1.svn服务配置文件,打开svnserve.conf,将下列配置项前面的#空格都去掉

# anon-access = read  # auth-access = write   # password-db = passwd  # authz-db = authz 


配置项分为以下5项:
    anon-access  控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
                 即"write"为可读可写,"read"为只读,"none"表示无访问权限。
                 缺省值:read
    auth-access  控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
                 即"write"为可读可写,"read"为只读,"none"表示无访问权限,需要帐号密码登陆才能访问
                 缺省值:write
    password-db  指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
                 目录的相对路径。
                 缺省值:passwd
    authz-db     指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
                 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
                 缺省值:authz
    realm        指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
                 认证域相同,建议使用相同的用户名口令数据文件。
                 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

 

2.打开passwd,在[users]下面添加帐号和密码,比如: 

[users]  #该文件中配置了两个用户,用户名分别为"admin"和"wangpt"。其中"admin"用户的密码为"admin";"wangpt"用户的密码为"wangpt"admin = admin  wangpt = wangpt 

3.打开authz权限配置文件,配置用户组和权限

我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。

在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

[groups]# 用户组# admins是组名,admin是组员,可以写多个,用逗号分隔.如admins=admin,master    admins = admin,wangpt,zhangsandroid = wangpt,yuanjkios = wangptphp = wangpt,luhai[/]# 这里的意思是admins组的成员都有rw的权限,rw是读写得权限,也可以写成admin=rw,只赋予某一个用户有读写权限  @admins =rw[/php]@php =rw[/ios]@ios =rw[/android]@android =rw# 比如luhai这个员工技术比较全,他除了会搞ios,还会搞android,这里给他单独开了一个android目录的读写权限  luhai=rw 


四、启动服务器

在终端输入下列指令:svnserve -d -r /Users/kaifa/svn

 默认端口3690  查看命令 :telnet localhost 3690

 

五、将项目导入svn库

在终端中输入svn import /Users/kaifa/Desktop/android svn://localhost/workspace/android --username=wangpt --password=wangpt -m "init"

指令的意思:将/Users/kaifa/Desktop/android中的所有内容,上传到服务器workspace仓库的android目录下,后面双引号中的""是注释


六、关闭SVN

命令终端直接输入下面命令,第一个数字为进程号

ps aux | grep svn

然后

sudo kill 5674 进程号(活动监视器也能查看)


1 0