搭建SVN服务器
Mac默认已经安装了svn,我们只需要进行配置并开启 我们可以验证一下是否安装了svn,打开终端,输入命令
svnserve --version
svn上的文件不是以原来的格式存储的,而是以FSFS(the Fast Secure File System)格式存储的(SVN 两种存储格式(BDB和FSFS)区别)。
- 把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。
- 如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息 。
一.创建代码仓库,用来存储客户端所上传的代码
1.新建svn目录
使用终端或者直接在Finder中创建想要存放svn的路径,比如在当前用户目录下新建,以后可以在svn目录下创建多个仓库目录
mkdir svn
2.创建代码仓库
打开终端,创建一个code仓库,输入指令:
svnadmin create svn/code
指令执行成功后,会发现硬盘上多了个 svn/code目录,目录结构如下
二.配置svn的用户权限
主要是修改/svn/code/conf目录下的三个文件
1.配置读写权限
用文本编辑器,打开svnserve.conf,将下列配置项前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
- anon-access = read表示匿名访问的时候是只读的
- 改为anon-access = none,禁止匿名访问,需要帐号密码才能访问
2.添加用户
打开passwd,在[users]下面添加用户和密码,等号左边是用户名,右边是密码,需要添加新用户,就另起一行 [users] mgr = 123 user1 = user1 user2 = user2 user3 = user3
3.配置用户组和权限
打开authz,将在passwd里添加的用户分配到不同的用户组,方便管理权限。
3.1分组
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开 同样等号左边是组名,右边是用户名 [groups] super=mgr user = user1,user2
3.2分组权限配置。
使用[/]代表svn服务器中的所有资源库
[/]
@super = rw
上面的配置说明super这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@
如果是用户名,不用加@,比如mj这个用户有读写权限 [/] user3 = rw 如果需要指定根目录下的资源权限,比如根目录下有个lib文件夹 [/lib] @user = rw 表示对lib文件夹user组有读写权限
下图中,默认的样例我没有删除
4.启动svn服务器
- 先拿到你存放svn的路径,如果按照上面的步骤的建立的目录应该是 /Users/你电脑的用户名/svn
- 在终端输入下列指令:svnserve -d -r /Users/你电脑的用户名/svn
或者输入:svnserve -d -r /Users/你电脑的用户名/svn/code 没有任何提示就说明启动成功了 此时也可以在mac系统自带的实用工具里面的“活动监视器”看到
- 想要退出,就在活动监视器中双击,选择退出即可。
配置Cornerstone
一.连接svn服务器
启动svn
-
在终端输入下列指令:svnserve -d -r /Users/你电脑的用户名/svn
-
打开Cornerstone,点击Add Repository
-
选择svn server并填写 server :如果服务器在本地就写localhost 在局域网的其他电脑上就写他的ip地址 repository path:这里的地址用的是上面配置svn时的代码库路径,比如上面我在svn的根目录创建了code代码库,所以直接填写code即可 name和password添加你要登录的用户名和密码,最后点击Add就好了,如果连接成功会显示succeeded,连接完毕
二.在svn中存放代码
1.在代码库中,新建文件夹,在cornersotone的空白处右击,出现如下信息:
弹窗中,输入文件夹名称,勾选表示创建trunk,branches,tags路径,不勾选什么都不会创建 填写修改日志后,continue 这样,文件夹就建好了。此时我们就可以往svn上传项目了。