阅读 355

MAC搭建SVN服务器并配置Cornerstone

搭建SVN服务器

Mac默认已经安装了svn,我们只需要进行配置并开启 我们可以验证一下是否安装了svn,打开终端,输入命令

svnserve --version
复制代码

查看svn版本
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目录,目录结构如下

code仓库目录

二.配置svn的用户权限

主要是修改/svn/code/conf目录下的三个文件

1.配置读写权限

用文本编辑器,打开svnserve.conf,将下列配置项前面的#和空格都去掉

# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
复制代码

svnserve.conf

  • 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系统自带的实用工具里面的“活动监视器”看到

启动svn

  • 想要退出,就在活动监视器中双击,选择退出即可。

配置Cornerstone

一.连接svn服务器

启动svn

  • 在终端输入下列指令:svnserve -d -r /Users/你电脑的用户名/svn

  • 打开Cornerstone,点击Add Repository

    点击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上传项目了。