Mac OS中版本控制系统SVN的配置使用
发布时间:2023-02-28 22:10:36
这篇文章主要介绍了Mac OS中版本控制系统SVN的配置使用,包括配置SVN本地客户端的用户权限等内容,需要的朋友可以参考下
Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。
我们首先来看下,如何在Mac环境下搭建svn服务器端环境。
创建代码仓库,用来存储客户端所上传的代码
我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录
打开终端,创建一个mycode仓库,输入指令:svnadmin create /Users/apple/svn/mycode
指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录,目录结构如下:
配置svn的用户权限
主要是修改/svn/mycode/conf目录下的三个文件
1.打开svnserve.conf,将下列配置项前面的#和空格都去掉
复制代码代码如下:
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问
2.打开passwd,在[users]下面添加帐号和密码,比如:
复制代码代码如下:
[users]
mj = 123
jj = 456
帐号是mj,密码是123
3.打开authz,配置用户组和权限
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
复制代码代码如下:
[groups]
topgroup=mj,jj
说明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。
使用[/]代表svn服务器中的所有资源库
复制代码代码如下:
[/]
@topgroup = rw
上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@
如果是用户名,不用加@,比如mj这个用户有读写权限
复制代码代码如下:
[/]
mj = rw
至于其他精细的权限控制,可以参考authz文件中的其他内容
4.启动svn服务器
前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。
在终端输入下列指令:
复制代码代码如下:
svnserve -d -r /Users/apple/svn
或者输入:
复制代码代码如下:
svnserve -d -r /Users/apple/svn/mycode
没有任何提示就说明启动成功了
5.关闭svn服务器
如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”
综合上述,我们就可以轻松搭建svn服务器环境了
使用svn客户端功能
1.从本地导入代码到服务器(第一次初始化导入)
在终端中输入
复制代码代码如下:
svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=mj --password=123 -m
"初始化导入"
我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器mycode仓库的weibo目录下,后面双引号中的"初始化导入"是注释
2.从服务器端下载代码到客户端本地
在终端中输入
复制代码代码如下:
svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/Documents/code
我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中
3.提交更改过的代码到服务器
在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd/Users/apple/Documents/code
2> 输入提交指令:svn commit -m "修改了main.m文件"
这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件
可以看到终端的打印信息:
复制代码代码如下:
Sending weibo/weibo/main.m
Transmitting file data .
Committed revision 2.
4.更新服务器端的代码到客户端
这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update
5.至于svn的其他用法,可以在终端输入:
复制代码代码如下:
svn help
这里列出一大堆svn指令,后面括号中的内容的一般代表着指令的简称,比如我们可以用svn ci代替svn commit,用svn co代替svn checkout
PS:SVN的特性
统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
重命名、复制、删除文件等动作都保存在版本历史记录当中。
对于二进制文件,使用了节省空间的保存方法(简单的理解,就是只保存和上一版本不同之处)。
目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
分支的开销非常小。
最优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。
支持FSFS和Berkeley DB两种资料库格式。


猜你喜欢
- 有时我们需要在wps表格里合并单元格,这时我们应该怎么做呢?下面就让小编告诉你在wps表格合并单元格 的方法。在wps表格合并单元格的方法:
- 一般在表格中处理成绩的时候都会进行总分的操作,那么,如何在wps表格中求总分呢?下面就让小编告诉你wps表格怎样求总分 的方法。wps表格求
- 在WPS表格中 咱们 常常用到SUM函数 乞降,也 常常用到 主动 挑选来分类 检察信息,如图。当 咱们点击 建立 性子 停止 挑选, 检察
- 许多用户在最近都安装升级了Windows11系统,但是不少用户在使用的时候经常会出现一些问题。例如不少用户在安装完毕之后发现直接的网络存在问
- 高德地图是一款地图导航软件,近期更新过后新增了一项组队功能,让那些不认识路或容易迷路的司机与他人车辆进行组队,这样不但方便交流,还能互相分享
- win10操作系统是我们目前使用最多的操作系统。由于win10的功能非常强大,这也是很多用户选择win10的原因。不过很多用户在安装win1
- PowerPoint 2013幻灯片中为对象添加动画效果1、打开演示文稿,在幻灯片中选择需要添加动画效果的对象,如当前幻灯片中的
- 制作PPT时,想要起到震撼听众的效果,那就要加入很多设计元素,今天就和大家讲解下最常见的PPT中分割线效果的设计,效果如下图所示。其实PPT
- 文件共享是资源充分利用的一种方式,也是信息有效传达的一个快捷途径。在windows2003系统下,一般都有很多共享用户,如A、B、C、D、E
- 通常情况下,我们比较常用的输入法有QQ拼音输入法、搜狗拼音输入法,都是跟拼音相联系的输入法。而有用户表示Ubuntu系统中使用拼音输入法无法
- 如果我们在使用win10操作系统的时候,安装的是win101909版本系统想要进行升级更新的话,对于升级过程中出现的更新错误提示代码0xc1
- 微软正在努力改善Windows 11的平板电脑体验,最近的一项发现显示,该公司计划在启用该模式时加强用户与任务栏的互动方式。有开发者透露,微
- 有用户和小编反映,当发现电脑出现网路问题,无法打开网页的时候,进行了网络诊断,结果提示“Windows无法与设备或资源(主DNS) 通信”。
- 众所周知,Win7系统扬声器可以把电信号转变为声信号,使用过程中有用户遇到了统扬声器总是自动停用,影响正常操作,每次Win7系统中扬声器总是
- 在我们平时使用word的过程中,经常碰到需要在Word中求和的情况,那么在word文档中如何求和呢?下面小编就为大家详细介绍一下,一起来看看
- 生化危机4重制版是原作生化危机4的升级版,不仅在兼具原作独有的紧张感同时,还为玩家带来新鲜感,也是吸引很多玩家体验,那么我们在遇到Win10
- 我们在利用Excel表格进行日常办公时,经常需要制作各种各样的表格,那么在表格当中输入人名的时候,表格是默认为左对齐的,那么如何设置为名字分
- 下面小编为大家介绍在ppt中用自由曲线和多边形制作一个需要的自定义形状方法,教程真的很不错,推荐到脚本之家,喜欢的朋友一起来学习吧在ppt中
- 微软每隔一段时间就会给Windows 10发布一个累积更新,不过真正的大招还在后边,那就是代号“Redstone”的重大更新,而且可能会分为
- 在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。那么,有没有一个办法或者技术来解决此类问题