Mac 搭建 SVN 服务器环境

一、创建svn repository

svnadmin create /path/svn/pro  //仓库位置,svn是svn的目录,pro是一个版本库的目录

PS:这里有个歧义,按这样的方式添加 SVN 后,在启动 SVN 服务的时候,记得要用 /path/svn 这个路径,而不能用 /path/svn/pro 这个路径,不然会报 doesn’t exist

例子:

先在 /User/apple 目录下新建一个 svn 目录,以后可以在 svn 目录下创建多个仓库目录

打开终端,创建一个 mycode 仓库,输入指令:

svnadmin create /Users/apple/svn/mycode

指令执行成功后,会发现硬盘上多了个 /Users/apple/svn/mycode 目录,目录结构如下:

二、配置svn的用户权限

主要是修改 /svn/mycode/conf 目录下的三个文件:authz,passwd,svnserve.conf

1.打开 svnserve.conf,将下列配置项前面的#和空格都去掉

# anon-access = read
# auth-access = write # password-db = passwd # authz-db = authz

四行前的  号去掉,再将 anon-access = read 改为 anon-access = none,这样禁止匿名访问,需要帐号密码才能访问

PS:这里要注意的,在  号后是有空格的,得去掉这个空格,上文字顶格,不然也有错误 

2.打开passwd,在[users]下面添加帐号和密码

帐号是mj,密码是123; 
帐号是jj,密码是456

3.打开authz,配置用户组和权限

我们可以将在 passwd 里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。 在 [groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

PS:用户组前要用 @ 符号,如果是用户,直接写用户名就可以了。rm 代表可读写,显然只读就是 r 了

4.启动SVN服务

svnserve -d -r /path/svn

特别注意,路径一定是 SVN 的目录,不是其中一个版本库的目录,不然,能正常启动,就是访问有问题

没有任何输出,则启动成功

实例:

在终端输入下列指令:

svnserve -d -r /Users/apple/svn

打开实用工具里面的“活动监视器” ,如下图所示:

三、使用svn客户端功能

1.从本地导入代码到服务器(第一次初始化导入)在终端中输入

svn import /Users/apple/webSite svn://localhost/mycode/webSite --username=mj --password=123 -m "初始化导入"

PS:将 /Users/apple/webSite 中的所有内容,上传到服务器 mycode 仓库的 webSite 目录下,后面双引号中的"初始化导入"是注释

2.从服务器端下载代码到客户端本地

在终端中输入

svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/svnwebSite

PS:将服务器中 mycode 仓库的内容下载到 /Users/apple/svnwebSite 目录中

3.提交更改过的代码到服务器

在步骤2中已经将服务器端的代码都下载到 /Users/apple/svnwebSite 目录中,现在修改下里面的一些代码,然后提交这些修改到服务器

1.打开终端,先定位到 /Users/apple/svnwebSite 目录,输入:

cd /Users/apple/svnwebSite

2.输入提交指令:

svn commit -m "修改了webSite文件"

这个指令会将 /Users/apple/svnwebSite 下的所有修改都同步到服务器端,

结果如下:

4.更新服务器端的代码到客户端

在终端中定位到客户端代码目录后,比如上面的 /Users/apple/svnwebSite 目录,然后再输入指令:

svn update

5.至于svn的其他用法,可以在终端输入:

svn help

转载:Mac 搭建 SVN 服务器环境开机自启SVN
http://www.jianshu.com/p/f949e24ea1ce
一、添加版本资源库
点击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就好。

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

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

修改前:

[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  +你的版本库地址

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

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

如果你开启了多个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

四、上传源文件

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



五、Check源文件

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

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

Where是导出位置

Format是SVN的版本,别选错了

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

六、小伙伴check源代码

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

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

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

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

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

Name:你的SVN账号

Pasword:你的SVN密码

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

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

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

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

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

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

 

Mac 搭建 SVN 服务器环境的更多相关文章

  1. Mac搭建svn服务器环境

    Mac搭建svn服务器环境 svn是Subversion的简称,是一个开放源代码的版本控制系统, Mac系统自带了svn的服务端和客户端功能, 因此不需要下载第三方软件,就可以支持svn进行版本的管控 ...

  2. 【svn】Centos搭建svn服务器环境

    1.需求描述 在Centos系统中搭建svn服务器环境 2.搭建过程 2.1 yum安装svn [root@localhost /]# yum install svn  2.2 新建目录存储svn目录 ...

  3. Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)

    这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领 ...

  4. Mac搭建SVN服务器+Cornerstone连接服务器

    Mac自带svn,我们只需配置并开启就可以了,打开终端,输入svnserve --version查看svn版本 可以看到我的mac自带的svn版本号为1.9.7,下面开始配置服务器: 1.终端输入su ...

  5. 搭建svn服务器(ubuntu)

    ubuntu搭建svn服务器 环境:ubuntu 12.04.5 apt-get install subversion 找个目录作为svn的仓库 mkdir svn svnadmin create s ...

  6. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  7. Windows10环境下使用VisualSVN server搭建SVN服务器

    参考: Windows10环境下使用VisualSVN server搭建SVN服务器 要搭建个svn用.之前自己的服务器用的乌龟.后来用了这个VisualSVN server. 具体教程见上链接.暂无 ...

  8. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  9. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

随机推荐

  1. Cross-site Scripting (XSS) 阅读笔记

    本文源自 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 通过阅读和翻译,并按照自己的理解,整理成如下文档. 概述 XSS ...

  2. 用Unity开发HTC VIVE——移动漫游篇

    这篇文章主要写的是通过手柄控制移动在场景中漫游.在通过手柄控制移动时,我主要写了两个脚本一个ChildTransform.cs.Move.cs;1. ChildTransform这个脚本主要是为了获取 ...

  3. C 语言中的指针和内存泄漏

    引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧 ...

  4. Web应用程序项目以配置使用IIS。未找到Web服务器

    解决办法 右键编辑该Web项目的csproj文件 把UserIIS改为False.或者在IIS服务器里面配置一个IISUrl里面的地址 如图

  5. UVM中的class--2

    1)uvm_component从uvm_report_object继承而来,提供的功能包括: 1)Hierarchy,-----searching and traversing component h ...

  6. HTML5 Web Storage

    Web Storage是HTML5 API提供一个新的重要的特性: 最新的Web Storage草案中提到,在web客户端可用html5 API,以Key-Value形式来进行数据持久存储: 目前主要 ...

  7. 关于安装qt之后的qmake命令

    今天通过在archlinux中安装qt5发现了关于qmake这个命令的一些事情. 1. /bin/qmake 是 /bin/qtchooser 的符号链接,/bin/qtchooser 由一个叫 qt ...

  8. shell 显示字体颜色

    (2).颜色语法:     \033[前景色;背景色m     \033[0m                   #0m代表恢复到系统默认的颜色   (3).字符界面前景颜色与背景颜色:     前 ...

  9. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  10. Java虚拟机学习(4):对象内存分配与回收

    对象优先在Eden上分配 大多数情况下,对象优先在新生代Eden区域中分配.当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC).Minor GC期间虚拟机将E ...