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

文章原地址

这是搬家之前的地址:免得以下复制的文章有遗漏

一、打开终端,创建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了。

如果你开启了多个svn,那你就在终端输入指令:ps aux |grep svn,然后紧跟你Mac用户名后面的那个数字(此处是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(这个地址是我在下一篇博客中复制过来的,用在这里只不过是在做示例)

四、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账号和密码就行了,

点击next之后的储存文件谁都会呢!


说到添加静态库文件进svn库,我记得是需要在终端里边写指令的,但是我很懒,暂时不说了。所以,大家去网上查吧,这个很多的


番外篇_1:上次有说svn import的事情,但是那个还有一种情况,比如svn有端口号呢,所以,这次说的就是这个问题,因为这次是纯手打,所以写得就简略一点,所有东西沿用上面的(“命令行、地址”)

1、开svn服务器(带有端口号)

svnserve -d -r +版本库地址 --listen-port +端口号(你设置2000也没人管你)

svnserve -d -r /Users/hutton2/Desktop/SVNserver --listen-port 2000

2、import项目(因为有了端口号号所以麻烦一点)

svn import +作为源文件的项目地址+svn版本库地址+username+password +注释,

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

3、checkOut(这次的cheakOut我舍弃了命令行,无论别人还是自己均去Xcode里边输地址)

svn://+ip地址:端口号/svn库文件夹名称

svn://192.168.8.wangnima:2000/SVNserver


番外篇_2:猪猪侠,你.a文件不能上传咧,你可不可以先学一下再来写简书啊,我们这边全是大牛,你别来班门弄斧啊,说笑的啦,上次有位大神指出了这个问题,这次就添上好了。

不能上传.a文件的原因在与.a文件默认是被忽略的,所以需要把它“解救出来”

在终端中:打开svn后,就在配置文件中删掉.a选项好了

输入命令行:open ~/.subversion/config,会弹出config文件,然后Command+F检索miscellany字样,然后在下方

# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a  *.pyc *.pyo

#  *.rej *~ #*# .#* .*.swp .DS_Store

中删除掉*.a,保存就好了。因为被忽略的选项之间是有空格符隔开的,所以删除*.a后需要把*.pyc移至so.[0-9]*的空格符后,让一切看起来像原来一样,比如这样的:

# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo

#  *.rej *~ #*# .#* .*.swp .DS_Store



,然后checkOut下来之后打开项目可能是看不见.文件的,但是没事,他在项目文件中的,你

添加进来就好了


还有一种说法是直接在终端add .a文件

cd +.a文件存在的目录下

然后svn add xxx.a文件

这种方法我没实践过,我不打包票,说实话,把文件checkOut下来之后,我所有的操作都在Xcode里边进行,若非出现解决不了的问题,我永远不会回终端

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容