SVN:多版本库环境的搭建
一、
1,启动SVN
sudo svnserve -d -r /home/data/svn/
其中 -d 表示守护进程, -r 表示在后台执行
/home/data/svn/ 为svn的安装目录
2,关闭SVN
这里采取linux杀死进程的方式处理的
ps -ef|grep svnserve
root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/
这里 kill -9 4967杀死进程, 此4967为进程号
二、
1. 服务器的确定
2. 配置管理工具的确定(SVN)
3. 建版本库的根目录,如下图所示,svnroot根目录下有project1和project2两个库

4. 创建第一个项目project1,命令:svnadmin create E:\svnroot\project1
5. 创建第二个项目project2,命令:svnadmin create E:\svnroot\project2
6. 为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:
6.1 取出project1下面conf文件夹下的authz和passwd两个文件到svnroot根目录下面
6.2 修改每个版本库目录conf文件夹下面的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 = ../../authz
(password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)
7. 定义一下几个角色用来测试
7.1 配置管理员(svnadmin),用来管理整个库
7.2 项目经理(manage),用来相关管理文档
7.3 开发人员 (dev),测试开发是否正常
8. 下面添加角色
打开svnroot目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:(svnadmin控制所有项目,统一管理)

9. 为角色分配权限:假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1的开发人员,dev3、dev4是project2的开发人员,test1是project1的测试人员,test2是project2的测试人员)
库目录及具体权限如下图所示:
库目录 权限分组:

具体权限:(根目录下,svnadmin拥有所有权限,其他人只有读权限,要设置子目录权限,
需设置子目录上级的权限方可,设置个别文件权限如下:)

启动SVN服务,可在dos命令里启动,也可把SVN服务安装在服务管理里面
把服务在DOS命令里启动方法:svnserve –d –r E:\svnroot
如若把服务安装在服务管理里面,简单的办法,下载一个SVNService.exe文件,放到subversion安装目录的bin文件夹下面,然后在dos命令里运行,
运行方法如下: SVNService –install –d –rE:\svnroot
10. 安装客户端,连接服务器到要访问的库,假如访问project1:svn://172.16.26.28/project1 ,用同样的方法访问project2,依次类推到更多的版本库项目。
11. 工具
SVN 服务器端:Subversion 1.5 ,客户端 TrotoiseSVN 1.5
12. 下载地址:www.iusesvn.com ,你需要注册方可进入下载去下载相关版本的工具。
13. 相关角色的定义
配置管理员 CM
整个配置管理库由配置管理员管理。配置管理员负责分配和修改其他成员的权限,要维护所有目录和配置项。
项目经理
开发经理在本项目中负责主导完成需求分析和系统总体设计,对项目的总体进度负责。开发经理拥有对管理类文档的读取权限,可以对项目类文档进行读写操作;
开发组长
开发组长对本小组的工作负有组织和管理任务,同时开发组长也需要承担一定的开发任务。开发组长对管理类文档有读取权限,对本组负责的模块有读取权限,对自己负责的模块有读写的权限;
开发工程师
开发工程师完成具体的开发任务,对自己负责的模块目录有读写权限,对管理类文档有读取权限;
测试组长
测试组长负责组织测试,给出测试计划和测试方案,并核定测试报告。测试组长对所有目录都有读取权限,对测试目录有读写权限;
测试工程师
测试工程师负责完成测试工作,包括测试用例开发和测试执行,测试报告编写。测试工程师对自己负责的模块有读取权限,对测试用例目录有读写权限。
QA工程师
QA工程师拥有对所有目录的读取权限,拥有对QA类文档目录的读写权限。
高层经理
高层经理负责部门及各个项目的协调工作。对部门公共库PUB有读写权限,对各项目有读取权限。
转载于网络
SVN:多版本库环境的搭建的更多相关文章
- SVN同步版本库与网站目录
如何创建SVN版本库及同步文件到WEB目录 来源:空谷 一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get ...
- svn创建版本库和删除版本库
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn创建版本库的做法:使用cd命令进入版本仓库的根目录,我的是E:\Repository,然后运行命令: svnad ...
- 【转】SVN服务器客户端以及环境的搭建和使用
vss,cvs,svn三者都是版本控制工具 vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式 vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库 vss是 ...
- SVN跨版本库迁移目录并保留提交日志
现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/下,本来打算交给SA做,没想到SA似乎 也不太懂的样子.于是,自己在VPS搭建了一个svnserve ...
- win7系统svn创建版本库
1. 在svn所在的服务器上, 找到它的目录, 右击创建项目名称文件夹, 然后右击该文件夹创建版本库 2. 创建版本库之后, 会出现几个文件夹, 打开conf文件夹, 修改里面的配置文件 3. 在自 ...
- SVN同步版本库与网站目录2
定义: SVN版本库 = /home/svn/repos 网站目录 = /var/www/web 1.检出一个项目到网站目录 #svn checkout file:///home/svn/ ...
- SVN访问版本库精细的权限控制
SVN精细权限控制本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是 ...
- linux下使用svn创建版本库和权限管理
linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...
- Linux配置svn服务器版本库
1)创建版本库首先使用yum安装subversion 2)创建版本库 svnadmin create /home/svn/svnfile 3)进入conf目录 authz ...
随机推荐
- C. Multiplicity
链接 [http://codeforces.com/contest/1061/problem/C] 题意 给你一个数组,让你找有多少个子串(并非连续,但相对位置不能换),满足bi%i==0; 分析 d ...
- 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...
- Linux内核设计与实现 第十七章
1. 设备类型 linux中主要由3种类型的设备,分别是: 设备类型 代表设备 特点 访问方式 块设备 硬盘,光盘 随机访问设备中的内容 一般都是把设备挂载为文件系统后再访问 字符设备 键盘,打印机 ...
- ubuntu——caffe配置deeplab
1. 下载deeplab 2. 安装matio sudo apt-get install libmatio-dev 3. 修改Makefile文件 LIBRARIES += glog gflags p ...
- IP工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletReques ...
- node的router路由。
使用router可以实现一个小型的express. router继承了大部分的app = express()的方法. 使用router可以工程化管理项目.router使用以后app只能在最开始去存在. ...
- python中Switch/Case实现
学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch/Case功能. 方法一 通过字典实现 ...
- YII2十三大特性
第一(框架&项目) 1. 框架安装 2. 框架扩展安装 3. 项目初始化-->php yii init 4. 美化URL配置 'urlManager' => [ 'enablePr ...
- js this小记
在JavaScript中,this 对象是在函数被调用时动态定义的. JS中有三种方法来设置this对象: someThing.someFunction(arg1, arg2, argN) someF ...
- C# 枚举值 (二) 多属性 操作
很多时候,我们的枚举值可能需要中英文, 那么可以使用下面的方法: 下面这个类,包含2部分. 1 BaseDescriptionAttribute特性的重载 2 枚举的操作类 EnumOperate n ...