用Xcode自带的svn搭建本地SVN服务器

来源:互联网 发布:淘宝做工瑕疵 编辑:程序博客网 时间:2024/05/18 08:12

一、打开终端,创建svn资源库 

svnadmin create /Users/hutton2/Desktop/SVNserver

此处的SVNserver就是SVN资源库名称,我比较懒,所以事先就在桌面创建了一个空文件夹,当我在终端输入svnadmin create之后就把桌面上的空文件夹拖进svnadmin create之后,这样就不需要我们手打地址了,并且地址精准。

 

二、配置SVN权限\

你创建的SVN资源库中的情形大概就是这样的,然后我们的修改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

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

修改前:

[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这个呢就代表要查看资源必须具有账号和密码

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

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

 

三、启动SVN

svnserve -d -r /Users/hutton2/Desktop/SVNserver

为了防止出错,后面的资源库地址我们直接拖文件夹进终端,而不是手写。

按下enter后如果终端没有提示那基本上就是成功了。

当然你也可以用系统自带的活动监视器,去搜索svn然后你就会看到有svn了。

 

四、import项目文件

svn import /Users/hutton2/Desktop/testDemo svn://localhost/SVNserver --username=zhuzhuxia --password =123456 -m"猪猪侠在这 "

其中/Users/hutton2/Desktop/testDemo是你要提交的项目文件夹,

svn://localhost/SVNserver是本地SVN资源库的文件夹名称,此时不需要你在用拖的方式了,因为svn启动之后是能检测到本地svn的。

如果你想单个项目多个分组,那个你可能要把特定源文件存在特定分组中,比如:我们要把import源文件到SVNserver的子文件夹hollo中,那么我们的 地址就变成了svn://localhost/SVNserver/hello,后面的地址理所当然也应该随之而变。

-m"猪猪侠在这 " 这是注释,必须写的,当然我是指-m" ",这一串,如果你不愿意在注释中写东西,你直接给个空格符就好,但是千万别什么都不写。

import时他会要你提供你的SVN账号和密码,按它说的做就是了\

 

五、checkOut一份源文件

不要说源文件是从你这传上去的你不需要check,你需要的,你的源文件大概是不享有SVN的权利的,updata、commit、push的

svn checkout svn://localhost/SVNserver --username=zhuzhxia --password=123456 /Users/hutton2/Desktop/project

分组:svn checkout svn://localhost/SVNserver/hello --username=zhuzhxia --password=123456 /Users/hutton2/Desktop/project

其中:svn://localhost/SVNserver跟import时一样,是你资源库的地址

/Users/hutton2/Desktop/project就是你要把这份资源check到何处的地址

构成:svn check +资源库地址+SVN账户+密码+指定的本地文件夹地址

输入命令之后也是要输密码的

\

当然,输错了会再次弹出输出用户的命令行,就像我一样。

 

六、小伙伴用Xcode check源文件

打开Xcode,点击首界面的Check out an existing project

\

进入下一界面,在or enter a repository location:下边输入SVN地址

\


我的地址svn://192.168.8.wangnima/SVNserver,开个玩笑,怎么可能有192.168.8.wangnima这么奇葩的IP,我只是不想告诉你啦!

地址的构成是:svn://SVN资源库持有者的IP+资源库名:svn://192.168.8.wangnima/SVNserver

分组:svn://SVN资源库持有者的IP+资源库名+子文件名称:svn://192.168.8.wangnima/SVNserver/hello

正常的话进入check Out界面后左下角是没有报错信息的,你按着提示输入你的svn账号和密码就行了,

\

0 0