博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 下 SVN 多版本库的搭建
阅读量:6898 次
发布时间:2019-06-27

本文共 2443 字,大约阅读时间需要 8 分钟。

一、简介

Subversion(简称SVN)是一个自由开源版本控制系统Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一。

二、安装SVN服务

sudo apt-get install subversion

三、创建版本库

1、创建目录文件夹
sudo mkdir /var/svnsudo mkdir /var/svn/project1sudo mkdir /var/svn/project2
2、创建版本库 project1
svnadmin create /var/svn/project1
3、创建版本库 project2
svnadmin create /var/svn/project2

四、设置用户及访问权限

1、集中配置

为了便于管理,将所有版本库的密码和权限,设置在同一个目录下

1.1、在根目录下创建conf文件夹,用来存放公共配置文件

sudo mkdir /var/svn/conf

1.2、拷贝project1/conf文件夹下的authzpasswd两个文件到svn根目录下面

cp /var/svn/project1/conf/authz /var/svn/confcp /var/svn/project1/conf/passwd /var/svn/conf

1.3、修改每个版本库目录conf文件夹下面的svnserve.conf文件,将以下内容

password-db = passwd

authz-db = authz

修改为:

password-db = ../../conf/passwd

authz-db = ../../conf/authz

注:../../conf/passwd代表相对路径而非绝对路径

2、添加用户

打开/svn/conf/passwd文件,在[user]标识下添加用户(username = password对应关系)

[user]

svnadmin = pwd_svnadmin
manage1 = pwd_manage1
manage2 = pwd_manage2
dev1 = pwd_dev1
dev2 = pwd_dev2
dev3 = pwd_dev3
dev4 = pwd_dev4
test1 = pwd_test1
test2 = pwd_test2

注:=等号前后有空格

3、分配权限

定义几个角色用来测试

配置管理员(svnadmin),用来管理整个库

经理(manage),用来管理项目文档
开发(dev),用来管理项目代码
测试(test),用来管理测试相关文档

设置分组

打开/svn/conf/authz文件,在[group]标识下添加用户(groupname = username对应关系)

[group]

admin_group = svnadmin
manage_group_1 = manage1
manage_group_2 = manage2
dev_group_1 = dev1,dev2
dev_group_2 = dev3,dev4
test_group_1 = test1
test_group_2 = test2

注:=等号前后有空格;多个用户之间用,逗号分隔

分组访问权限

[/]

@admin_group = rw
* = r

[project1:/]

@admin_group = rw
@manage_group_1 = rw
@dev_group_1 = r
@test_group_1 = r

[project1:/Public]

@admin_group = rw
@manage_group_1 = rw
@dev_group_1 = r
@test_group_1 = r

[project1:/code]

@dev_group_1 = rw
* =

[project1:/test]

@test_group_1 = rw
* =

[project2:/]

@admin_group = rw
@manage_group_2 = rw
@user_group_2 = r
@test_group_2 = r
[project2:/code]
@dev_group_2 = rw
* =

注:=等号前后有空格

4、修改配置文件

打开/svn/conf/svnserve.conf文件,将以下内容

# anon-access = read

# auth-access = write
# password-db = passwd
# authz-db = authz

修改为:

anon-access = none

auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz

五、启动SVN服务

1、启动服务
sudo svnserve -d -r /var/svn --config-file /var/svn/conf/svnserve.conf
2、设置开机自启动

在目录/etc/init.d下添加脚本startsvn.sh

#!/bin/bashsudo svnserve -d -r /var/svn --config-file /var/svn/conf/svnserve.conf

执行命令 sudo update-rc.d starsvn.sh defaults,将脚本添加到自启动项目中。

六、验证访问版本库地址

  • svn://localhost/project1

  • svn://localhost/project2

[参考]

转载地址:http://sbcdl.baihongyu.com/

你可能感兴趣的文章
谁是真凶?《CSI:犯罪现场调查》正帮助AI提高断案能力
查看>>
J2ME开发的一般步骤
查看>>
Win2003下Exchange2003部署图解之五
查看>>
SpringCloud的版本
查看>>
Angular企业级开发(10)-Smart Table插件开发
查看>>
菜鸟心态综合症2:不知道怎么让自己前进
查看>>
MongoDB不是“芒果数据库”
查看>>
DELL EqualLogic PS6100存储详解及数据恢复解决办法
查看>>
WPF中的命令(一)
查看>>
个人管理 - 个人知识管理
查看>>
金蝶K3实现自动核算(供应商管理单价)
查看>>
Python中的列表、元祖、字典
查看>>
RMAN 测试脚本
查看>>
精彩 .NET 2015
查看>>
C# 温故知新 基础篇(11) 泛型<思维导图>
查看>>
include file 与include virtual的区别
查看>>
Linux下定时执行任务的几种方式
查看>>
思維的枷鎖
查看>>
WINSTC(windows remote server/run time/remote client)自己想的b/s方案
查看>>
using + .net 中的别名
查看>>