开发者社区> benjaminwhx> 正文

Mac OS 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
http://subversion.apache.org/faq.html#working-copy-format-change

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

Mac OS升级svn客户端


$ 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'

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mac安装svn,Homebrew简单使用
mac安装svn,Homebrew简单使用
331 0
Android Studio常用设置、快捷键(win+mac)及关联SVN
Android Studio常用设置、快捷键(win+mac)及关联SVN
35 0
Mac 下 SVN 客户端使用
安装方法 mac 下已经自带了svn环境 。使用svn –version 查看是否安装。 如果你有安装XCode,只需要在code > Preferences > download > Command Line Tools > Install即可,速度很快,基本1分钟搞定。 如果没有需要在Apple Developer网站 下载Command_Line_Tools_for_Xcode.dmg独立安装包。[不推荐手动查找安装包] 当然也可以命令行安装 xcode-select --install 也可使用 brew 安装svn brew install svn svn 图形化界面 sna
205 0
svn conflict 冲突解决
1. 同一处修改文件冲突 开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了。不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具。这里详细介绍下SVN提交文件时冲突问题的解决方式。
1506 0
SVN冲突解决方法
在ubuntu中,使用svn控制代码版本(其实个人喜欢GIT的,但是team使用的svn),出现冲突问题,做程序员就得上刀山下火海,不怕问题来找你,所以,本着职业的精神,好吧,解决吧。 第一次使用markdown写博客,写的时间有点久,语法不熟悉,看着语法手册一步一步创建的,大家凑合着看吧。
5131 0
linux操作系统进阶
当年只有条件有限,只能手写,希望小伙伴多包含。
43 0
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(二)
本章将浅谈一下 "操作系统是什么" 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
33 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
冬季实战营第二期:Linux操作系统实战入门
立即下载
2022龙蜥操作系统生态用户实践精选
立即下载
开放算力·云启未来
立即下载