博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac OS svn配置使用以及冲突解决
阅读量:6659 次
发布时间:2019-06-25

本文共 2093 字,大约阅读时间需要 6 分钟。

hot3.png

在Mac系统中,由于Mac自带了svn服务器端和客户端的功能,所以我们可以不用装任何第三方软件就可以使用svn功能,不过需要做一些简单地配置

创建代码仓库

我首先在 ~目录下新建了一个svn目录
$mkdir svn
创建一个仓库,名称随意,我的名字是mycode
$svnadmin create ~/svn/mycode
目录结构应该如下所示:
$ ls svn/mycode/
README.txt  conf/       db/         format      hooks/      locks/

配置svn的用户权限

修改~/svn/mycode目录下的3个文件
1.打开svnserve.conf,将下列配置项的前面的#和空格去掉

anon-access = read

auth-access = write
password-db = passed
authz-db = author

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问

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

[users]

benjamin=abc

账号是benjamin 密码是abc

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

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

[groups]

mygroup = benjamin

说明benjamin是属于mygroup这个组的,接下来再进行权限配置。使用[/]代表svn服务器中的所有资源库

[/]

@mygroup = rw

上面的配置说明mygroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@

如果是用户名,不用加@,比如benjamin这个用户有读写权限

[/]

benjamin = rw

至于其他精细的权限控制,可以参考authz文件中的其他内容

4.启动svn服务器

前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。
在终端输入下列指令:
svnserve -d -r ~/svn
或者输入:
svnserve -d -r ~/svn/mycode
没有任何提示就说明启动成功了

5.关闭svn服务器

如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”


本人在配置好svn之后,想要下载文档,由于svn下载地址在国外,可能下载时间要一天,所以我直接把之前在windows系统下下载过得文档复制到Mac上来了。

我把它放在~/Documents/目录下
当我进入文档目录执行$ svn update后,提示了一个错误

svn: E155021: This client is too old to work with the working copy at

'/Users/piqiu1/Documents/7day-sysdoc' (format 31).
You need to get a newer Subversion client. For more details, see

经过查找,发现需要更新svn客户端。

Mac OS升级svn客户端

$ svn --version
得到版本是1.7.20

进入找到对应Mac版本和svn客户端版本下载,双击安装即可。

安装完成,最后一步提示添加svn地址到PATH变量中,然后在终端执行以下命令
$ cd ~
$ vi .bash_profile
在 .bash_profile文件中添加一行
export PATH=/opt/subversion/bin:$PATH
完后后更新下bash的环境变量
$ source .bash_profile
再次运行svn 命令
$ svn --version
得到版本是svn, version 1.9.2 (r1703836)

进入文档目录,再次执行$ svn update

一切显示正常,直到输入完服务器用户名和密码后,出现了一个新的冲突

Skipped '0.6 External Interfaces/09. Printshop/Welcome Package Loan SDFBRESVA - R5.0.xlsx' -- Node remains in conflict

At revision 1723.
Summary of conflicts:
Skipped paths: 1

最后执行以下命令解决冲突

$ svn revert '0.6 External Interfaces/09. Printshop/Welcome Package Loan SDFB RESVA - R5.0.xlsx'

转载于:https://my.oschina.net/lenolong/blog/516824

你可能感兴趣的文章
关于Webpack详述系列文章 (第三篇)
查看>>
微服务实践四: 配置管理
查看>>
.on()之selector——jQuery
查看>>
php解析 html类库 simple_html_dom
查看>>
集训第六周 数学概念与方法 概率 数论 最大公约数 G题
查看>>
存储过程详解
查看>>
【MPI】矩阵向量乘法
查看>>
【块状树】bzoj3731 Gty的超级妹子树
查看>>
序列化作用
查看>>
[JUC-3]ReentrantLock源码分析
查看>>
centos 安装gcc 与 g++方法
查看>>
// FileStream 读取和写入一个文件,一点点读取,可以按照指定读取字节大小读取, //FileStream(文件夹名字,创建的模式,读取的形式)他是一个非静态类,所以用new创建...
查看>>
语法分析-C语言程序
查看>>
FluentData 轻量级.NET ORM持久化技术详解
查看>>
C++ If学习笔记(4)
查看>>
数据库
查看>>
(转)jqGrid的数据格式化
查看>>
Jquery Mobile表单
查看>>
Python内置函数
查看>>
实验1 命令解释程序的编写
查看>>