软件介绍:
Subversion(简称SVN)是一个自由开源的版本控制系统。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一。
安装
普通用户登录则需要sudo 执行
第一步:安装
sudo apt-get install subversion
第二步:创建版本库,选择版本库目录地址:/home/svn/ 也可以是其他地址
sudo mkdir /home/svn sudo svnadmin create project001 cd projecct001
第三步:根据实际需求,确定是否创建多版本库,创建多版本库一般将authz passwd svnserver.conf 独立在conf文件夹中,本例创建多版本库,创建单版本库略过第三步
sudo mkdir conf sudo cp ./project001/conf/svnserve.conf ../../conf sudo cp ./project001/conf/authz ../../conf sudo cp ./project001/conf/passwd ../../conf
第四步:配置svnserve.conf passwd authz文件
svnserve.conf 文件配置项
cd /home/svn/conf sudo vim svnserve.conf
修改
# anon-access = read #未授权用户可读取
# auth-access = write #授权用户可写
# password-db = passwd #用户密码数据库
# authz-db = authz #权限分配数据库
为
anon-access = none
auth-access = write
password-db = passwd
authz-db = conf/authz
注意
1.取消行前面的#号(#号代表注释),
2.注意 = 号左右之间的空格
passwd 文件配置项,passwd文件存放svn 授权用户的用户名和密码
sudo vim passwd
在[users]标签之后添加,格式:用户名 = 密码(注意 = 号左右空格)
svnadmin = pwd_svnadmin manage1 = pwd_manage1 manage2 = pwd_manage2 dev1 = dev1
authz 文件配置项,authz 文件使用来分配权限角色的数据库
在[group]标签添加授权用户组 格式:用户组名 = 用户名1,用户名2(多用户之间用,隔开)
admin_group = svnadmin project001_manage = manage1,manage2 dev_group = dev1
配置访问权限
#根目录权限 [/] @admin_group = rw * = r #多版本库就添加对应版本库权限 [project001:/] @admin_group = rw @project001_manage = rw @dev_group = r
配置完成之后可以用svnauthz-validate 验证用户名文件是否配置正确
sudo svnauthz-validate authz
没有报错则证明配置正确
第五步:启动svnserve 服务
注意:配置多版本库后应在启动后参数加上 --config-file 文件路径
sudo svnserve -d -r /var/svn --config-file /home/svn/conf/svnserve.conf
至此svn配置完成
扩展
查看是否启动成功
sudo netstat -antp |grep svnserve #方法一 sudo ps -e |grep svnserve #方法二
结束SVN服务
sudo kill -9 svn端口号
防火墙拦截则需要添加规则
ufw allow 3690
即可
当前第一个版本的地址为
svn://localhost/project001
svn检出命令
sudo svn co svn://localhost/project001 --usrname svnadmin