Mac OS svn配置使用以及冲突解决

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

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

<h1 id="01">配置svn的用户权限</h1>
修改~/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
http://subversion.apache.org/faq.html#working-copy-format-change

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

<h1 id="03">Mac OS升级svn客户端</h1>
$ svn --version
得到版本是1.7.20

进入mac osx svnclient 下载地址找到对应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'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,837评论 7 63
  • 这两天一直再弄SVN提交代码到服务器,遇到了很多莫名奇怪的问题。 1.每次提交总会莫名其妙的提示如下这种错误 刚开...
    Www刘阅读 21,945评论 2 12
  • 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn...
    GoGooGooo阅读 629评论 0 1
  • 2016的人生黑天鵝 1、英鎊閃崩,一切歸零。 2、溝通不良,三劍客各奔東西。 3、沒有遠見,導致風險發生時,立刻...
    1f010e4b2e05阅读 105评论 0 0
  • 时间很晚 手机充电 这是手机爱上电池的牺牲 三月怀胎 年底出生 这是妈妈爱上宝贝的情愿 相隔千里 每天视频 这是夫...
    布老头和他的家人们阅读 157评论 2 0