您的位置:首页 > 编程语言

Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)

2018-02-21 23:48 706 查看
Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码) 1.    安装subversion
sudo apt-get install subversion
2.    创建版本仓库(可以根据需要创建多个)
cd /home/svn/repos/qcom
svnadmin create mghl8937(仓库里面可以放很多项目)
3.    配置版本仓
我们主要关心的是conf和db文件,conf文件夹下是存放主配置文件和用户、权限位置,db文件夹是存放svn转储后的数据。
3.1  主配置文件svnserve.conf
[general]
#定义非授权用户的访问权限,有三种方式: none 、 read 、 write,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 read 。
anon-access = read
#定义授权用户的访问权限,有三种方式:none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 write 。
auth-access = write
#密码文件为passwd,用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置
password-db = passwd
#权限文件为authz
authz-db = authz
 
3.2  存储用户及密码的passwd文件
#格式是用户名=密码,采用明文密码
[users] 
cky = 123 
lsy = 456 
 
3.3  设置用户权限的authz文件
[groups]          #定义组的用户
project_group = cky,lsy#定义cky和lsy属于project_group,有读写权限
[mghl8937:/]    # project_group对mghl8937版本库下/目录(根目录)有读写限
 @ project_group= rw

4.    启动svn服务
4.1  一次性启动
svnserve -d -r /home/svn/repos/qcom   (不要带上版本仓库)
如果是svnserve -d -r /home/svn/repos,那么checkout就用svn co svn://192.168.150.129/qcom/mghl8937
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。
/home/svn/repos/qcom指定svn数据仓库存放的目录位置

4.2  开机启动
在目录/etc/init.d/下添加脚本startsvn.sh
       #!/bin/bash
       svnserve -d -r /home/svn/repos/qcom
执行命令update-rc.d starsvn.sh defaults,将脚本添加到自启动项目中。
insserv: script startsvn.sh is not anexecutable regular file, skipped!
chmod 777 startsvn.sh修改权限后提示
insserv: warning: script 'startsvn.sh'missing LSB tags and overrides
查看是否启动成功,可看监听的3690端口
netstat -antp |grep svnserve
如果想关闭服务,可使用pkill svnserve
 
5.    导入源代码到版本库
源代码路径:/home/svn/src/qcom/mghl8937
svn import --no-ignore /home/svn/src/qcom/mghl8937file:///home/svn/repos/qcom/mghl8937 -m “导入代码”
 
6.    从版本仓导出源代码
svn co svn://192.168.150.129/mghl8937
 
7.    查看提交log提示无法查看
在windows端通过show log查看,提示:



在ubuntu端用svn log查看,提示
svn: E220001: Item is not readable
 
有两种解决方法:
(1)  版本仓库conf/authz文件增加[/] * = r
[/]
* = r
(2)  版本仓库conf/svnserve.conf文件将anon-access = read改为anon-access = none。也就是其他人权限设置为不允许访问。
 
参考链接
http://blog.csdn.net/u012041204/article/details/76355063
https://stackoverflow.com/questions/6651997/svn-show-log-not-working
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: