1、基础知识
Mac自带了svn服务器端和客户端功能,我们只需要简单配置一下即可使用。
svn上的文件不是以原来的格式存储的,而是以FSFS(the Fast Secure File System)格式存储的(SVN 两种存储格式(BDB和FSFS)区别)。
把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息 。(摘自:上传的文件放在SVN服务器的哪个目录下,上传svn服务器目录)
在协同开发中,版本控制是必备的。今天我想在我自己的电脑和公司电脑之间保持一些文档的同步,通过QQ等工具传来传去的很不方便,没有svn方便,之前也没有自己搭建过svn服务器,所以顺带学习下如何搭建svn服务器。
2、查看系统自带的svn版本等信息
在终端中输入:svnserve — version可以看到如下信息:
svnserve, version 1.7.19 (r1643991)
compiled Jun 17 2015, 13:48:11
Copyright (C) 2014 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository back-end (FS) modules are available:
fs_fs : Module for working with a plain file (FSFS) repository.
可见svn的存储格式FSFS.
3、创建svn路径path
使用命令或者直接在Finder中创建想要存放svn的路径。
4、创建svn repository
在终端中输入命令:svnadmin create /svn文件夹上层的路径/svn/iOS这样就创建成功了
我们看到iOS目录下就多了这些内容。
5、配置svn的用户权限
打开conf目录下的svnserve.conf文件,将下列配置项前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
再把anon-access=read修改为anon-access=none,这样就禁止了匿名访问,只有输入账号密码才可以访问。
6、配置svn账号密码
打开conf目录下的passwd文件,仿照里面的注释格式,修改为如下:
[users]
luHome = 123456
luWork = 123456
这样就分配了两个svn账号以及登录密码。
7、配置svn用户组和权限
打开conf目录下的authz文件,在这里,我们可以对上面分配的svn账号进行分组管理,可以针对不同的分组和不同的账号进行不同的权限管理。
仿照里面的注释格式,在 [groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开。修改为如下:
[groups]
luGroup=luHome,luWork
[/]
@luGroup=rw
rw为可读可写
8、启动svn服务器
在终端中输入:svnserve -d -r /svn文件夹上层的路径/svn 【注意不是到iOS目录】
如果终端没有报错就表示启动成功了
这个时候打开活动监视器,搜索svn,即可看到
9、连接svn
这里介绍使用Mac下的Cornerstone来连接svn。使用终端命令来连接svn的可以参考:
打开Cornerstone,点击REPOSITORIES下面的+号,选择SVN Server并填写对应的信息连接即可
注意:Mac自带的svn默认使用3690端口。
10、关闭svn
在活动监视器中选择svnserve关闭即可。
参考: