使用第三方工具Cornerstone搭建本地SVNserver

一、加入版本号资源库
点击Cornerstone左下角REPOSITORIES栏右边的加号button。在弹出的视图中选择File Repository,然后选择Create a New Repository,接着開始填写资料
Where栏目是指本地server的存放地址。我通常是选择放在Mac的文稿里边的,那里好分辨。

Nickname是指你本地server的名称,随便取,你认得就好,比方我的叫做: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就好。


二、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

这一串我就不是非常清楚了,毕竟这个涉及得少。


2、passed

成员加入了就该设置password了吧

改动前:

[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


改动后:

删掉每段前面的空格和#,

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

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

anon-access = none
auth-access = write
password-db = passwd
authz-db = author


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


三、开启你的SVN

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

强调一下。版本号库地址尽量别手动输入地址。非常easy出错的,直接拖目录进终端。他会自己主动生成的。地址反正比你的准确就对了

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

假设你开启了多个svn。那你就在终端输入指令:ps aux |grep svn,然后紧跟你Macusername后面的那个数字(此处是2698)。而且末尾也会告诉你这个数字与你开启的哪个SVN相相应。

我的是: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中,光标选中居于左下角的你的版本号库。然后在软件中上方就能点击import了,然后依照他的提示,去选择你要上传的源文件就好




五、Check源文件

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

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

Where是导出位置

Format是SVN的版本号。别选错了


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


六、小伙伴check源码

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

Server:是搭建SVNserver之人的IP

Port:一般本地SVNserver的应该不用写

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

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

Name:你的SVN账号

Pasword:你的SVNpassword



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


注意:以下来具体说一下这个Repository

我们都知道这是源码存放地址。可是不明确的是为什么我此时不写地址也能拷贝出代码,事实上我也不懂。

可是我想要说的解法:

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

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



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



原文地址:https://www.cnblogs.com/wzjhoutai/p/7255474.html