本文没有什么原创内容,绝大部分是借鉴了其他大神们的成果,主要是将自己在MAC搭建过程中走过的一些弯路记录下来,希望可以对其他遇到和我同样问题的菜鸟有所帮助
一、搭建SVN服务端
1.前提
mac自带SVN服务器端和客户端,只需简单配置即可使用
2.查看MAC自带SVN版本
在终端中输入:svnserve -- version可以看到如下信息:
Tips:如果之前未安装xcode会出现提示,点击安装即可
3.创建SVN路径path
通过Finder直接创建或者使用命令行均可
命令行: mkdir /Users/peter/svn
Tips:如果跳过此步骤,在步骤4中报错can not create top level directory,因为svnadmin create命令并没有权限在此目录下创建文件
4.创建SVN REPOSITORY
终端输入命令行:svnadmin create /svn文件夹上层的路径/svn/testcase
在该目录下就出现了以下文件
5.打开conf目录下svnserve.config文件修改以下参数
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
再把anon-access=read修改为anon-access=none,这样就禁止了匿名访问,只有输入账号密码才可以访问。
Tips:须将各项参数前的#和空格均全部删除
6、配置svn账号密码
打开conf目录下的passwd文件,仿照里面的注释格式,修改为如下:
[users]
luHome = 123456
luWork = 123456
这样就分配了两个svn账号以及登录密码。
注释:以luHome=123456为例,luHome为用户名,123456为密码
7、配置svn用户组和权限
打开conf目录下的authz文件,在这里,我们可以对上面分配的svn账号进行分组管理,可以针对不同的分组和不同的账号进行不同的权限管理。
仿照里面的注释格式,在 [groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开。修改为如下:
[groups]
luGroup=luHome,luWork
[/]
@luGroup=rw
rw为可读可写
用户组前要用 @ 符号,如果是用户,直接写用户名就可以了。rw 代表可读写,只读是 r
Tips:切记不可遗忘[/],否则import时会报错authorization failed
8、启动svn服务器
在终端中输入:svnserve -d -r /svn文件夹上层的路径/svn 【注意不是到iOS目录】
如果终端没有报错就表示启动成功了
这个时候打开活动监视器,搜索svn,即可看到
二、使用svn客户端功能
1.从本地导入代码到服务器(第一次初始化导入)在终端中输入
svn import /Users/apple/webSite svn://localhost/mycode/webSite --username=mj --password=123 -m "初始化导入"
PS:将 /Users/apple/webSite 中的所有内容,上传到服务器 mycode 仓库的 webSite 目录下,后面双引号中的"初始化导入"是注释
2.从服务器端下载代码到客户端本地
在终端中输入
svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/svnwebSite
PS:将服务器中 mycode 仓库的内容下载到 /Users/apple/svnwebSite 目录中
3.提交更改过的代码到服务器
在步骤2中已经将服务器端的代码都下载到 /Users/apple/svnwebSite 目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1.打开终端,先定位到 /Users/apple/svnwebSite 目录,输入:
cd /Users/apple/svnwebSite
2.输入提交指令:
svn commit -m "修改了webSite文件"
这个指令会将 /Users/apple/svnwebSite 下的所有修改都同步到服务器端,
结果如下:
4.更新服务器端的代码到客户端
在终端中定位到客户端代码目录后,比如上面的 /Users/apple/svnwebSite 目录,然后再输入指令:
svn update
5.至于svn的其他用法,可以在终端输入:
svn help
参考文献
http://blog.sina.com.cn/s/blog_e88283710102vsu3.html
http://www.jianshu.com/p/222575cee609
https://cnbin.github.io/blog/2015/06/13/mac-da-jian-svn-fu-wu-qi-huan-jing/