Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1359436
  • 博文数量: 334
  • 博客积分: 10302
  • 博客等级: 上将
  • 技术积分: 2986
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 10:17
文章分类

全部博文(334)

文章存档

2013年(1)

2012年(9)

2011年(4)

2010年(10)

2009年(24)

2008年(64)

2007年(72)

2006年(150)

我的朋友

分类: 系统运维

2012-04-25 10:22:37

 X 系统已经内置了svn支持,所以需要做的就只是配置,可以用svnadmin –-version查看。

 

1.建立想要保存软件仓库的目录。 并在系统设置里面打开Web共享(Apache2)。
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

(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
结束服务可以用 killall -9 svnserve

注:很可能会遇到权限问题,可使用 sudo 命令,的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”~

以上引用:



如果创建文件夹时遇到这样的问题:svn: Can't create directory '/opt/svn/repos': Permission denied,可以通过切换到root账户解决,具体方案,请参考我上一篇转载的日志。

如果原本端口已被占用,通过:svnserve -d --listen-port 2122 -r /opt/svn/repos 使用其它端口。

查看svn状态的时候,出现:svn: warning: '.' is not a working copy
阅读(5690) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~