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 ...
随机推荐
- JS中的跨域问题
一.什么是跨域? 1.定义:跨域是指从一个域名的网页去请求另一个域名的资源.比如从www.baidu.com 页面去请求 www.google.com 的资源.但是一般情况下不能这么做,它是由浏览器的 ...
- linux 下gcc 编译结构体问题
最近在linux 学习c语言的编程,发现好多原来在vs 上的在linux 都编译不过去,今天就遇到了一个问题就是结构体的编译的问题, 结构体大概的定义是 struct Node{ int a; int ...
- 第三个Sprint ------第十天
上传到Github github 地址:https://github.com/be821/MyCat 百度云盘: 链接: http://pan.baidu.com/s/1hrxL6lu 密码: k9t ...
- 第三个sprint冲刺第一阶段
- MYSQL jdbc autoReconnect
http://blog.csdn.net/a9529lty/article/details/7104351 http://blog.163.com/huangfei_person/blog/stati ...
- ASP.NET MVC自定义异常处理
1.自定义异常处理过滤器类文件 新建MyExceptionAttribute.cs异常处理类文件
- Linux 改变文件属性与权限
常用的修改文件组或文件的命令有三个:chgrp.chown.chmod. 1 chgrp 改变文件所属的用户组 改变一个文件的用户组直接以chgrp来改变即可,这个命令时change group 的简 ...
- scipy线性模块liner(linalg)
#liner import numpy as np from scipy import linalg as lg arr=np.array([[1,1],[0,1]]) matr=np.mat('[1 ...
- python自动化运维笔记3 —— dns处理模块dnspython
1.3 DNS处理模块 dnspython是python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新ZONE信息,同时支持TSIG(事物签名)验证消息和EDNS0(扩 ...
- 最实用的深度学习教程 Practical Deep Learning For Coders (Kaggle 冠军 Jeremy Howard 亲授)
Jeremy Howard 在业界可谓大名鼎鼎.他是大数据竞赛平台 Kaggle 的前主席和首席科学家.他本人还是 Kaggle 的冠军选手.他是美国奇点大学(Singularity Universi ...