linux上面svn安装

1、yum install subversion

2、输入rpm -ql subversion查看安装位置,如下图:

我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
 
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
 
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
 
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
 
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
 
7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。
 
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
 
 
9、启动svn版本库
svnserve -d -r /var/svn
 
10、在windows上测试
新建一个测试文件夹,在该文件夹下右键选择 SVN checkou,输入以下网址即可
若在服务端,则用以下命令
svn co --username liming --password liming svn://localhost/svnrepos /www/demo
 
11,使用svn钩子同步数据, 编辑文件如下:
export LANG=en_US.UTF-8  
 
/usr/bin/svn update /www/demo/ --username "lyf" --password "123456"
12,
给脚本增加可执行权限
chmod +x /var/svn/svnrepos/hooks/post-commit
 
 
 
如:你建了个版本库是/opt/svndata/test,然后用SVN客户端导入目录或者直接通过SVN客户端新建目录,最后通过设置版本库下conf中的authz,设置相关人的权限:
[test:/]
admin = rw
* = r
admin用户版本库根目录有读写权限(通过SVN客户端的游览版本库可以测试)
其他所有人只有只读权限
 
[test:/one](这里的目录不能写错,写错后下面权限再怎么设置都会不起作用)一定不能加入最后的“/”,否则,导出时提示权限不对。
user01 = r
user01用户对版本库中的one目录有只读权限(通过SVN客户端的游览版本库可以测试)
 
还可以参考
http://developer.51cto.com/art/201006/203209.htm
 
 
 
# 在home/www目录下建立多个仓库
svnadmin create home/www/svn1
svnadmin create home/www/svn2
svnadmin create home/www/svn3
#建立后每个仓库下都有conf目录,可分别配置账户、权限等, 最好是统一配置账号,权限, 设置所有的仓库的配置文件中指向的账号文件和权限文件相同
#只需要启动home/www目录
svnserve -d -r home/www
#svn的url分别是
svn://127.0.0.1/svn1
svn://127.0.0.1/svn2
svn://127.0.0.1/svn3
 
 

设置权限管理

#vi home/www/svn-authz.conf
[groups]
source1=harry
source2=sally
[source1:/]

@source1=rw
@source2=r

[source2:/]
@source2=rw
bote=rw。

 
 
 
posted @ 2015-09-08 00:21  乎合  阅读(207)  评论(0编辑  收藏  举报