Mac搭建svn服务器
1.创建svn repository
注意:假如报错(可尝试:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer)
两种方式:第一种直接在用户主目录下创建:
mkdir ~/svn
cd ~/sv
mkdir myProject
svnadmin create ~/svn/myProject
注意myProject里面的文件就svn admin给你建立的
第二种方式:自己指定路径,比如Desktop/svn/myProject
需要在指定路径下先创建好svn/myProject目录,然后输入命令:
svnadmin create /Users/RoyChou/Desktop/svn/myProject
2.在创建的svn/myProject目录下存在3个文件:authz,passwd,svnserve.conf
第一步:配置svnserve.conf
#anon-access = read#auth-access = write#password-db = passwd //指向passwd这个配置文件#authz-db = authz //指向authz这个配置文件
四行前的#号去掉,再将anon-access = read改为anon-access = none,这样禁止匿名访问
PS:这里要注意的,在#号后是有空格的,得去掉这个空格,上文字顶格,不然也有错误
第二步:配置passwd
里面存的是用户与密码,有示例,直接按照它的格式添加用户和密码就可以了
test1=123
test2=456
第三步:编辑认证文件:authz文件
格式为 [groups]
用户组名 = 用户组成员
[需要授权的目录]
@组名 = 权限
用户名 = 权限
例如:
[groups]
g_developers = jcccn,jesse,bill //权限组 = 用户
g_tester = jerry,wang //权限组 = 用户
[/]
@g_developer = r 组的权限
jcccn = rw 用户权限
* =
[/jcccn]
@g_tester = raw
jcccn = rw
* = r
例子 2
[groups]
harry_and_sally = shi
[/]
@harry_and_sally = rw
* = r
3. 启动SVN服务
svnserve -d -r /你的路径/svn
svnserve -d -r /Users/RoyChou/svn
特别注意,路径一定是SVN的目录,不是其中一个版本库的目录,不然,能正常启动,就是访问有问题
没有任何输出,则启动成功
注意:假如启动失败 报错原因为:svnserve: Can’t bind server socket: Address already in use
解决办法:
1.ps -aux | grep svn
kill pid(pid为ps出的pid这样就停止服务了)
2.我们可以试着重新指定一个端口8081 使用 –listen-port 8081参数。
svnserve -d -r /home/svn/ –listen-port 8081
默认的启动svn服务,系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
4.关闭 killall -9 svnserve
5.用svn工具,连接 svn://127.0.0.1/myProject
注意:Xcode自带的svn和Versions以及一些其它工具都默认忽略 “.a” 文件。
方法一:使用命令行添加文件
1.打开终端,输入cd,空格,然后将需要上传的.a文件所在的文件夹(不是.a文件)拖拽到终端(此办法无需输入繁琐的路径,快捷方便) ,回车;
2.之后再输入如下命令:svn add libOCMock.a,回车;
3.之后会出现:A (bin) libOCMock.a
表示添加成功,打开Versions就可以看到,刚才添加的.a文件,此时就可以手动上传了。
另外,在mac 10.8中输入命令行,可能会提示你command not found,因为10.8默认没有安装Command line tools,解决办法:command not found解决方法。
方法二:在Versions中手动添加文件
选择Versions的菜单View-->Show Ignored Items,这样就会显示出ignored的文件,找到你要上传的.a文件,右键“Add”就可以了
莲花 version 的使用:
1、选中 respository ——name(工程名,随意(或者默认使用仓库名 myProject)),locations:( svn://主机地址/仓库名(myProject)),username 、password
2、某个人 第一次 导入项目: 在界面中选中 仓库名称,右键,import 导入工程 ;
3、某个人 checkout 项目:在界面中 选中项目 ,右键,checkout ,从svn服务器下载 项目;
4、某个人 commit 项目 之前:在界面中选中项目,右键 update (或者 左上角 update), 目的 看到 服务器端最新的项目,避免自己提交的项目 与 服务器端项目冲突 ;update 修改本地checkout的项目为 服务器端 最新项目 ;
5、某个人 commit 项目:如果是 新添加一个类,莲花中 选中 新建的类,点击 右上角add ,之后,点击 左上角 commit ; (删除 一个类 步骤 类似 添加),如果仅仅是修改代码,直接commit 就可以;