1.建立想要保存软件仓库的目录。
sudo su (然后输入密码)
mkdir /opt
mkdir /opt/svn
mkdir /opt/svn/repos
即创建了目录/opt/svn/repos/
2.创建版本仓库 svnadmin create /opt/svn/repos
3.修改授权配置
进入到仓库配置目录 cd /opt/svn/repos/conf
(1)编辑配置文件 vi svnserve.conf 取消下列行的注释
anon-access = read
auth-access = write
password-db = passwd (密码配置的保存文件)
auth-db = authz (认证配置的保存文件)
(2)编辑密码配置文件 vi passwd
格式为 “用户名 = 密码”
(3)编辑认证文件 vi authz
格式为 [groups]
用户组名 = 用户组成员
[需要授权的目录]
@组名 = 权限
用户名 = 权限
例如:
[groups]
g_developers = jcccn,jesse,bill
g_tester = jerry,wang
[/]
@g_developer = r
jcccn = rw
* =
[/jcccn]
@g_tester = rw
jcccn = rw
* = r
### 对所有版本库的权限设置用[/]
### group名称前要加@,用户名不加。
* = 是为所有人设置权限,这里是设置其他所有人没有读写权限。
[/]
@harry_and_sally = rw
* =
### group名称前要加@,用户名不加。
* = 是为所有人设置权限,这里是设置其他所有人没有读写权限。
[/]
@harry_and_sally = rw
* =
(4)配置忽略文件 vi ~/.subversion/config
如果”.subversion”目录不存在,请运行”svn status”命令,虽然此命令会失败,但是会为你创建所需要的文件。
找到 global-ignores 一行,去掉注释,编辑成:
global-ignores = build *~.nib *.so *.pbxuser *.mode *.perspective*
找到 enable-auto-props = yes 把注释去掉,在[auto-props] Section声明以下文本文件:
*.mode* = svn:mime-type=text/X-xcode
*.pbxuser = svn:mime-type=text/X-xcode
*.perspective* = svn:mime-type=text/X-xcode
*.pbxproj = svn:mime-type=text/X-xcode
4.启动svnserve :
svnserve -d -r /opt/svn/repos(
这里的svnserve和后面的-d -r 路径名(绝对路径)之间都是有空格的否则系统将找不到对应的文件将会报
No such file or directory的错误)
结束服务可以用 killall -9 svnserve
注:很可能会遇到权限问题,可使用 sudo 命令,SVN的DB文件如果是ROOT的,要改为用户权限:
sudo chown -R UserName /opt/svn/repos
sudo chmod -R 755 /opt/svn/repos
另,如有SVN文件是从其它地方Copy到Mac硬盘上的,就会碰到“Operation not permitted”(大意:你丫没事吧,瞎得瑟啥,哥的文件你动不了)的提示。
咋整咧?
请使用 sudo chflags -R nouchg /opt/svn/repos
简而言之,如果SVN目录碰到奇怪滴权限问题,大体三步走即可搞定:
sudo chflags -R nouchg /opt/svn/repos
sudo chown -R UserName /opt/svn/repos
sudo chmod -R 755 /opt/svn/repos
最后友情建议,别忘了先 “Clean up”~
一些Mac OS上的SVN客户端,svnX,scplugin
[参考文章]
1、http://www.2cto.com/os/201309/247054.html
2、http://superich2008.iteye.com/blog/2024658
3、http://blog.csdn.net/chengkaizone/article/details/22748497