分类: LINUX
2009-07-23 22:44:16
举例说明,在 Ubuntu 上搭建 Subversion 服务器。
一、搭建 Subversion 服务器
1、首先需要安装 subversion 这个软件:sudo apt-get install subversion
2、在 /home/nicky
下建立一个 repo,名称为 testproject:svnadmin create /home/nicky/testproject
3、然后把 /fun/theme 目录下的内容导入到这个 repo 中:svn import -m "INIT" /home/ nicky/work file:///home/ nicky/testproject
4、最后给这个 repo 建立一个 svn 自带的 svnserve:svnserve -d -r /home/nicky/testprojec
二、分配访问权限
/home/nicky/myproject/conf 下有三个文件是来管理访问权限的。
修改svnserve.conf
去掉如下几行的注释
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
#anon-access = none 不允许匿名访问
#auth-access = write 允许写入
#password-db = passwd 访问时需要输入密码
#authz-db = authz 访问权限设置
修改 passwd 配置文件,增加允许访问的用户
[users]
user1= 123456
格式:用户名=密码
修改 authz 配置文件,设置工作组,和目录访问权限
[groups]
ppc = user1,user2
[myproject:/]
@ppc = rw
#* =
ppc组成员有两名,user1和user2
组里所有人对整个项目目录都有读写权限。如果要设置工程里某个目录具体的访问权限可以如下设置
[groups]
ppc = user1,user2
ppc_tmp = user3,user4
[myproject:/]
@ppc = rw
#* =
[myproject:/test]
@ppc_tmp = rw
#* =
这样,user1和user2 对整个工程有修改权限,而user3和user4 只是对工程根目录下的test目录有修改权限。
注意:所有的配置文件去掉注释后必须顶格,前面不能有空格,否则会出现 Option expected 错误
三、启动 SVN 自带的服务
svnserve -d -r /home/nicky/
从版本库下载版本到本地
本地:
svn co file:///home/nicky/myproject
局域网内通过svnserve方式访问:
svn co svn://svnserver-ip/myproject
此时,需要输入的用户密码就是 passwd中定义的。
四、使用 Subversion
1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。
svn checkout svn://127.0.0.1/ projecout
或者简写为:svn co svn://127.0.0.1/ projecout
2、如果需要将修改从 wc 中发送到 repo。
先到 wc 所在目录,然后使用下面的命令将修改发送到 repo:svn commit -m "note"