使用第三方工具Cornerstone搭建本地SVN服务器

文章原地址

一、添加版本资源库

点击Cornerstone左下角REPOSITORIES栏右边的加号按钮,在弹出的视图中选择File Repository,然后选择Create a New Repository,接着开始填写资料

Where栏目是指本地服务器的存放地址,我一般是选择放在Mac的文稿里边的,那里好分辨。

Nickname是指你本地服务器的名称,随便取,你认得就好,比如我的叫做:GG Boy

Create as我一般选择与NickName同名

Compatibility就是兼容SVN的版本啦,现在Xcode7.3自带的应该是SVN 1.7吧,所以选1.7是没事的,如果你不知道你所拥有的SVN的版本号,我这边的一段命令svn --version,这样你就可以获取自己SVN的版本号了。

我运行的结果是:svn, version 1.7.22 (r1694152),也就是说我的SVN的版本号是1.7.22的

一切OK后,Add就好。

使用第三方工具Cornerstone搭建本地SVN服务器_第1张图片
image

二、SVN配置

点击你的资源库文件夹,然后修改他的子文件夹conf中的authz、passwd、svnserve.conf这三个文件,直接用文本工具打开就好

1、authz

a、修改之前呢是这样的,

[groups]

harry_and_sally = harry,sally

harry_sally_and_joe = harry,sally,&joe

[/foo/bar]

harry = rw

&joe = r

* =

b、修改之后呢是这样的

[groups]

harry_and_sally = harry,sally

harry_sally_and_joe = harry,sally,&joe

testGroup =zhuzhuxia,xiaofeifei

[/]

@testGroup=rw

[/]

zhuzhuxia=rw

xiaofeifei=rw

[/foo/bar]

harry = rw

&joe = r

* =

很明显中间多了这么一串

testGroup =zhuzhuxia,xiaofeifei

[/]

@testGroup=rw

[/]

zhuzhuxia=rw

xiaofeifei=rw

首先呢,testGroup就是你所创建的组名了,自定义的,随便写。

zhuzhuxia,xiaofeifei这个呢就是你的组成员

[/]

@testGroup=rw

[/]

zhuzhuxia=rw

xiaofeifei=rw

这个就是所谓的配置权限了,[/]代表你SVN中的所有资源,再加上@testGroup=rw意思是该小组中所有成员对SVN中的所有资源具有读写权限,rw = read and write

至于为什么一直要加上 [/]

[/]

zhuzhuxia=rw

xiaofeifei=rw

我就不是很清楚了,毕竟这个涉及得少,但是你必须这样子写,不然会错得让你怀疑人生,来,看图,曾让我几度怀疑公司的加密软件的罪魁祸首

使用第三方工具Cornerstone搭建本地SVN服务器_第2张图片
image

Description : An error occurred while contacting the repository at “192.168.10000.zhuzhuxia”.

Suggestion : The server may be unreachable or the URL may be incorrect.

Technical Information

=====================

Error : V4CommunicationError

Exception : ZSVNCommunicationException

Causal Information

==================

Description : Unable to connect to a repository at URL 'http://[email protected]:180000'

Status : 175002

Description : OPTIONS of 'http://[email protected]:180000': Could not read status line: connection was closed by server (http://[email protected]:180000)

Status : 175002

2、passed

成员添加了就该设置密码了吧

修改前:

[users]

harry = harryssecret

sally = sallyssecret

修改后:

[users]

harry = harryssecret

sally = sallyssecret

zhuzhuxia=123456

xiaofeifei=123456

3、svnserve.conf

修改前:

其中有这么四段,自己去找吧

anon-access = read

auth-access = write

password-db = passwd

authz-db = author

修改后:

删掉每段前面的空格和#(2019.01.15更新,# authz-db = authz 无需更改),

其中值得注意的是:anon-access = read这个表示用于他人匿名查看你的资源,但是他仅仅具有查看功能,

anon-access = none这个呢就代表要查看资源必须具有账号和密码

anon-access = none

auth-access = write

password-db = passwd

authz-db = author

如此,SVN的权限就配置好了

三、开启你的SVN

在终端中输出指令:svnserve -d -r +你的版本库地址

强调一下:版本库地址尽量别手动输入地址,很容易出错的,直接拖文件夹进终端,他会自动生成的,地址反正比你的准确就对了


这里的版本库地址是指:你在第一步中添加的文件夹的地址,而不是你的源代码文件夹地址,比如我的就是在文稿中的GG Boy文件夹,这个文件夹名称是根据Create as那个命名的来的,而不是Nickname中的


是:svnserve -d -r /Users/hutton2/Documents/GG\ Boy ,输入完毕没反应,基本上就是成功了,不信的话自己也可以去活动监视器里面看的

如果你开启了多个svn,那你就在终端输入指令:ps aux |grep svn,然后紧跟你Mac用户名后面的那个数字,这个数字即是活动监视器里边的pid(此处是2698),并且末尾也会告诉你pid与你开启的哪个SVN相对应。当然,如果你想关闭某个SVN,你也可以获取到该pid后,在活动监视器中关闭指定进程或者在终端输入指令

kill + svn的pid

我的是:hutton2 2698 0.0 0.0 2462016 748 ?? Ss 11:38上午 0:00.03 /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve -d -r /Users/hutton2/Documents/GG Boy

使用第三方工具Cornerstone搭建本地SVN服务器_第3张图片
image

四、上传源文件

在Cornerstone中,光标选中居于左下角的你的版本库,然后在软件中上方就能点击import了,然后按照他的提示,去选择你要上传的源文件就好

使用第三方工具Cornerstone搭建本地SVN服务器_第4张图片
image

五、Check源文件

import源文件之后,你有两种选择方式:其一为中上方的export,这个仅仅是导出源文件,他并不具有svn的基本功能,我们一般用的是check,点击cornerstone中的源文件,然后点击左上角的Check Out

Check Out As 是你导出后文件的名称,

Where是导出位置

Format是SVN的版本,别选错了

使用第三方工具Cornerstone搭建本地SVN服务器_第5张图片
image

如此你自己的SVN就好了,剩余的就是你的小伙伴的工作了

六、小伙伴check源代码

打开工具Cornerstone,然后点击左下角REPOSITORIES旁边的"+",在弹出视图上选择SVN Server,填写

Server:是搭建SVN服务器之人的IP

Port:一般本地SVN服务器的应该不用写

Repository:这是资源库下代码库的地址,也就是你存放源代码的上一级,这个待会儿再细说

Nickname:这个当你填写上面之后会自动生成的

Name:你的SVN账号

Pasword:你的SVN密码

使用第三方工具Cornerstone搭建本地SVN服务器_第6张图片
image

点击Add,左下方自然会生成你的资源库的,然后光标移至该资源库中的源代码,点击左上角的CheckOut,以后你写代码就得在你所check的地址中写了。

注意:下面来详细说一下这个Repository

我们都知道这是源代码存放地址,但是不明白的是为什么我此时不写地址也能拷贝出代码,其实我也不懂。但是我想要说的解法:

比如,我们多数情况下只会创建一个SVN,然后多个项目存储在资源库中,但是像我这个例子中,我们不写地址,那么我们的结果是把所有的资源都拷贝了过来,可是我们只是想要其中一部分而已呢,

此时我们就要创建子文件夹了:光标移至资源库,然后右击资源库的空白处就会出现选择菜单,点击New Floder in "GG Boy",然后按着提示做就创建了子文件夹了,此后我们不同的源代码就可以存储在一个SVN中,并且能够被单一识别。

使用第三方工具Cornerstone搭建本地SVN服务器_第7张图片
image

比如我创建了一个名为BCD文件夹,你的小伙伴想要check里边的代码,那么他的Repository就得填写为BCD。

然后需要注意的一点:

大家如果想上传静态库文件,需要在屏幕上方工具栏中Coenerstone->preferences->

取消 Use default global ignores的勾选,然后删除掉下方的.a即可,当然与.a一起的那些文件后缀方法也是一样

使用第三方工具Cornerstone搭建本地SVN服务器_第8张图片
image

你可能感兴趣的:(使用第三方工具Cornerstone搭建本地SVN服务器)