实用CVS安装及使用手册Word文档下载推荐.docx
- 文档编号:17292454
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:42
- 大小:1.95MB
实用CVS安装及使用手册Word文档下载推荐.docx
《实用CVS安装及使用手册Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实用CVS安装及使用手册Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
本手册详细说明了如何使用CVS进行版本控制的有关操作方法,本手册只列出了常用的与开发人员有关的操作。
由于时间仓促,加之知识的局限性,尚有不足之处,还请诸位多多赐教。
1.2名称解释
▪配置项:
一个信息单元(可以是程序、文档或数据)称为一个配置项(SCI:
SoftwareConfigurationItem),它是软件配置管理的对象。
▪基线(Baseline):
指已经通过正式审核和批准的某规约或产品,是后续开发的基础,并且只能在正式的变化控制流程之下做修改。
▪版本(Revision):
是经过修改过的版本。
▪版本号:
每个在版本库中维护的每个文件都有自己版本号,版本号可以自己命名或系统自动命名。
每个文件在版本系统内的版本都有可能形成一个独立的版本树。
▪版本标签:
是阶段性的版本标记,即Milestone(里程碑)。
根据标签可以获取某个特定的完整版本。
▪CVS仓库(Repository):
CVS以RCS格式的文件来保存所有配置项,这些文件也按目录组织,最顶层目录称为CVS仓库。
▪CVS模块(Module):
CVS模块是CVS的项目组织方式,通常和CVS仓库中的目录对应。
▪CVS服务器:
init进程中services—cvspserver。
▪CVS客户:
$CVSROOT=:
pserver:
cvsuser@localhost:
/cvswork。
1.3技术支持
如果您有任何关于本软件的使用或文档方面的问题,请通过电话、Email、MSN联系如下技术支持人员。
亦可进入公司OA系统公司桌面CVS论坛寻求支持信息。
技术支持人员
电话
MSN
赵玉露
0755-82955896
zhaoyl@szkingdom。
com
jade_dew2008@hotmail。
1.4CVS的特点
CVS即ConcurrentVersionsSystem,意思是并行版本系统。
它是一个当前比较流行的功能强大的版本控制系统,采用典型的客户/服务器结构。
CVS具有以下几个主要特点:
▪免费:
其官方网站是http:
//www.cvshome.org。
▪跨平台:
CVS支持所有的操作系统和跨平台开发,可以用在AIX、Solaris、SUNOS、Linux、Windows等不同的平台上开发应用。
▪强大的分布式开发支持:
CVS一直以支持分布式开发作为其基本特征。
▪支持并行开发:
允许多个开发人员对同一个文件进行开发工作,并对多个开发者的工作进行整合。
▪强大的可塑性:
不论是一个源文件组成的项目,还是代码量超过几百兆的项目,都能够管理自如。
▪触发器及定制功能:
这种功能帮助开发者将CVS和变动/跟踪系统紧密集成,以形成完整的软件配置管理系统(SCM)。
▪使用简单:
C/S结构,WinCVS
▪实现代码持续集成
▪得到众多软件商的支持
▪
1.5CVS工作思路
在一台服务器上建立一个仓库,仓库里可以存放不同项目的源程序。
由仓库管理员统一管理这些源程序.这样,就好像只有一个人在修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。
用户做的任何修改首先都是在本地进行,然后用CVS命令进行提交,由CVS仓库管理员统一修改.这样就可以做到跟踪文件变化,冲突控制等等.
2版本管理
2.1版本树
▪Beta_1系统开发阶段
在Beta_1系统开发阶段,由配置管理小组建立子项目的目录结构,开发组自主管理子项目中的配置项,在Beta_1系统开发阶段结束后,由开发小组长组织小组内成员进行单元测试,单元测试通过后,由项目经理对子项目打上版本标签,即Beta_1版。
开发小组成员不要随意打任何版本标签。
▪Beta_2系统开发与Beta_1系统测试阶段
开发组在打上Beta_1版标签的主干版本上继续开发,配置管理小组则在Beta_1版本标签上作一分支版本,交由测试组测试,测试组在分支版本上发现的问题,由开发者在分支版本上修正错误,项目经理审核修正后,把修正后的配置项的标签移到最新的版本号上,然后测试组进行错误修正的回归测试,在回归测试通过后,通知开发人员将修正后的配置项合并到主干版本。
在Beta_2系统开发结束后,项目经理组织后期开发内容的单元测试,在单元测试通过且测试组完成Beta_1系统的集成测试后,由项目经理设置Beta_2版标签。
Beta_2版本标签设置的同时,配置管理员开始冻结此版本,即对修改进行控制,开发人员不能再进行配置项的出库和入库,对配置项的操作全部由配置管理员来进行。
▪Beta_2系统测试
测试组申请整个Beta_2版本出库进行集成测试,对于测试中发现的问题,由开发组进行错误修正,项目经理审核修正后,把修正后的配置项的标签移到最新的版本号上,然后测试组进行错误修正的回归测试。
在Beta_2版本测试结束后,测试组负责提交总体测试报告,由配置管理委员会决定此版本是否可以投入生产环境。
通过后由项目经理打上product版本标签。
2.2总体处理流程
下面结合CVS在项目组中的使用,规范编码过程中对于版本控制的运用和产品的交付流程。
项目组配置管理工具采用CVS(开放源代码、并发版本控制软件流程),BUG跟踪工具使用的是ClearQuest(缺陷跟踪工具)。
因为CVS只是一个开发一级的版本控制工具,没有版本库、开发库、控制库之间的管理。
本文提出关于3个库的一种管理办法,用以保证开发库和控制库之间数据的一致性。
充分利用CVS和ClearQuest工具的功能,结合项目实际情况,对两个工具进行整合,实现开发、测试、发布的合理化流程,流程图如图2.2.1所示:
图2.2.1
版本控制是配置管理的基本要求,它可以保证在任何时刻恢复任何一个配置项的任何一个版本。
版本控制还记录了每个配置项的发展历史,这样就保证了版本之间的可追踪性,也为查找错误提供了帮助。
版本控制也是支持并行开发的基础。
当我们在原来的版本基础上需要创建另外一个版本(项目)时,可创建一个分支,在分支上开发另外一个版本。
2.2.1新项目的开发
各产品/项目的项目经理在项目启动时,需要填写《公司配置库权限申请单》,经部门负责人审核、软件中心负责人批准签字后,交公司配置管理员开通公司配置库的使用空间和权限。
增加新功能或修改程序时,可以在开发主线上随时提交修改内容。
修改完成,并通过自己的测试(单元测试)之后,如果需要复审员对代码复审,则开发者要建立复审标签,格式为『REX_产品代号_开发者名字+日期(yyyymmdd)+任务单号』。
用来区分多个提交的任务,测试完成后提交测试报告。
具体操作:
Remote-Createatagbymodule/Modify-createatag
命名为:
REX_产品代号_NAME_YYYYMMDD_[N]
其中:
REX-表示代码复审(reexmine)
NAME-表示开发者名字
YYYYMMDD-为8位的日期,如20060215
[N]-任务单编号,通过此编号可以知道此次修改要解决的问题——来自CQ。
发布之前的测试,建立发布测试标签‘REX_产品代号_YYYYMMDD’,在此标签上进行测试,在测试时开发人员可以继续在开发主线上开发新的功能,而不必冻结开发代码。
对测试问题修改完善后,再经过测试,直到所有此类问题都解决掉。
REX_产品代号_YYYYMMDD
REX-表示代码复审
建立发布标签,即打标签‘REL_产品代号_版本号_YYYYMMDD’。
REL_产品代号_版本号_YYYYMMDD
REL-表示发布(Release)
2.2.2创建分支
当我们在原来的版本基础上需要创建另外一个版本(项目)时,可创建一个分支,分支跟主版本可独立开发,又可以相互合并。
如我们的甲项目跟乙项目基本上相同,可直接在甲的基础上创建一个分支。
甲上有用的地方直接合并到乙分支上。
Remote-createabranch/Modify-createabranch
命名:
BR_原产品代号_新产品代号_YYYYMMDD
BR-表示分支
增加新功能或修改程序时,可以在分支上随时提交修改内容。
修改完成,并通过自己的测试(单元测试)之后,如果需要复审员对代码复审,则开发者要建立复审标签,格式为『REX_开发者名字+日期(yyyymmdd)+任务单号』。
首先update本地为分支版本,然后选中要打标签的文件,执行如下操作:
Modify-createatag
REX-表示代码复审(reexmine)
[N]-任务单编号,通过此编号可以知道此次修改要解决的问题——来自CQ。
2.3CVS提交中注释的要求
CVS在提交代码时需要填写提交的注释,项目组使用统一格式来达到规范的目的。
提交注释的格式——【符号[模块名]详细注释】
“符号”可以是‘!
’、‘~’两个符号之一。
表示开发工作的两种状态:
完成‘!
’和进行中‘~’。
完成-‘!
’,表示经过测试完成,可以提交到控制库。
进行中-‘~’,表示正在对问题和功能处理中,此部分提交的内容只是表示开发库的内容,还没有测试完成,不能提交到控制库之中。
‘[模块名]’表示修改的是哪个模块。
‘详细注释’要指出此部分的提交属于哪部分内容:
包括:
新增加的功能、删除旧的功能、修正错误、计划要完成的功能等等,还要详细说明为什么进行代码的修改,以及进行了什么样的修改。
例如:
以下是修改提交注释(注意符号和中括号之间有一空格):
!
[发行后台]增加功能,解决打印总是出现乱码问题。
修改了打印函数f_print()第50行的打印语句print。
3CVS服务器的安装与配置
本章介绍Linux平台下CVS服务器的安装和配置
3.1CVS服务器的安装
服务器操作系统是linux操作系统,linux操作系统自带有CVS安装。
可以使用linux自带的CVS安装,然后下载升级包进行升级。
也可以到开源网站https:
//www.cvshome。
org/下载安装包自行安装。
3.2CVS服务器的配置
1、检查确保系统已安装CVS:
rpm-qa|grepcvs
2、建立CVS用户组:
groupaddcvs
3、创建CVS属主用户
#useradd–gcvs–d/home/cvsrootcvsroot
4、建立CVS仓库(初始化CVS)
#chmod775/home/cvsroot
$cvs-d/home/cvsrootinit
5、启动CVS服务器:
首先在/etc/xinet.d目录下新建文件cvspserver,cvspserver的结构如下:
servicecvspserver
{
socket_type=stream
wait=no
user=root
server=/usr/bin/cvs
server_args=-f--allow-root=/home/cvsrootpserver
log_on_failure+=USERID
only_from=192.168.0.0/24
}
其中only_from是用来限制访问的,可以根据实际情况不要或者修改。
然后,重新启动xinetd:
#/etc/init/xinet.drestart
6、检查cvspserver服务是否启动
netstat-l|grepcvspserver
结果:
tcp00*:
cvspserver*:
*LISTEN
7、创建用来访问CVS的用户
仓库中CVSROOT目录里可以添加三个配置文件:
passwd,readers,writers。
可以通过设置这三个文件来配置CVS服务器:
passwd:
cvs用户的用户列表文件,格式如下:
{CVS用户名}:
[加密的口令]:
[等效系统用户名]
加密口令:
htpasswd–cfilenameusername
例:
lill:
kd7MmHzjkp882:
cvsroot
readers:
有CVS读权限的用户列表文件,是一个一维列表
writers:
有CVS写权限的用户的列表文件,是一个一维列表
增加用户:
htpasswd–bpasswdlilllill//-b把用户增加在passwd文件下。
Lill是用户名,第二个lill是密码。
Vipasswd进入passwd,点击I
在增加的一行后面添加:
默认读写权限,如果读权限,在readers文件中添加此名字即可。
4Windows平台下的CVS操作
本章介绍Windows下的CVS客户端工具WinCVS的操作。
4.1WinCVS安装
WinCVS安装包可以到公司网站
下载WinCVS20.rar。
具体安装过程:
首先运行wincvs_setup.exe安装WinCVS。
在安装过程中,会提示安装cvsnt,安装即可。
安装完毕,运行python-2.3.1.msi,直至安装结束。
注意:
需在我的电脑中的环境变量中设置python的环境变量;
有时还需在防火墙中的“例外”中把CVS相关的程序设为例外;
在本地连接中网关设置为:
255.255.0.0,而不是255.255.255.0
4.2WinCVS登录到CVS服务器
在WinCVS安装完成后,运行WinCVS,选择菜单”Admin””Login”登陆,如图4.2.1:
图4.2.1
然后进入如下信息:
:
lill@192.168.40.232:
/home/cvsroot/test
lill是用户名;
192.168.40.232是服务器IP地址;
/home/cvsroot/test是模块路径。
如图4.2.2所示界面,不同用户需要修改用户名和文件名,替代“lill”和“test”。
用户名是:
每个人自己的姓的全拼+名字的每个字的拼音的第一个字母,如李丽丽的用户名称是lill(密码另行通知);
模块名是:
所负责产品的代号。
图4.2.2
Globals选项,如图4.2.3所示:
图4.2.3
此项的配置主要是要注意以下两点:
第一,Prune(remove)emptydirectories选上,会自动删除空目录;
建议如果需要保存空目录,在空目录下面存放一个readme.txt文件,防止删除空目录,也可以记录文件信息。
第二,对一般配置没有特殊要求的,把Supplycontrolwhenadding选项选中
配置好后点击确定,出现输入密码框,如图4.2.4:
图4.2.4
输入密码后,点击OK登录。
登录成功,会在下方的状态视图里显示“CVSexitednormallywithcode0”,如图4.2.5所示。
注意,每次操作的时候状态视图都会有操作结果的显示。
操作成功返回代码0,非零的代码说明有错误产生。
图4.2.5
4.3WinCVS基本操作
4.3.1建立工作目录
在本地硬盘建一个自己的工作目录(以后检出的工作拷贝就会放到这个目录下),比如D:
\test,在WinCVS地址栏中选定该目录(如图4.3.1.1)。
图4.3.1.1
4.3.2Checkout检出
1、CHECKOUT工程模块,如图4.3.2.1
图4.3.2.1
也可以在左侧树结构处点击右键选择‘Checkoutmodule’,如图4.3.2.2
图4.3.2.2
2、进入配置目录,如图4.3.2.3:
(1)Modulenameandpathontheserver:
输入要检出的模块名,是所要下载的CVS服务器上文件的目录名;
或者点击浏览服务器上的内容,如图图4.3.2.3红色所示,出现如图4.3.2.4,选择list和cvsroot,点击refresh,刷新列表,就是服务器上本模块下的内容.选择一个文件,如a文件,点击OK后就选中了该文件,又回到图4.3.2.3。
(2)图4.3.2.3中,Localfoldertocheckoutto:
本地路径,下载的文件所放的本地路径(例子中是E:
\checkout\);
(3)图4.3.2.3中,CVSROOT:
选择CVSROOT路径
(4)点击确定,即可将a模块检出到本地硬盘。
图4.3.2.3
图4.3.2.4
3、确定后,CHECKOUT成功会有如下提示,如图4.3.2.5所示。
图4.3.2.5
CHECKOUT成功以后的本地目录内容,如图4.3.2.6:
图4.3.2.6
4.3.3Import上传
1、import工程模块,如图3.3.3.1
图3.3.3.1
也可以在左侧树结构处点击右键选择‘Importmodule’,如图3.3.3.2
图3.3.3.2
2、进入配置目录,如图3.3.3.3:
(1)Repository:
输入文件名,是上传到CVS服务器后该文件的名称,例子中是test;
(2)CVSROOT:
(3)在图中箭头所指处填入上传信息,即日志文件。
图3.3.3.3
3、如果要求上传后文件日期不变,需要选择importoptions框的选项,如图3.3.3.4红色所示。
否则,文件日期是你上传时候的服务器日期。
图3.3.3.4
4、确定后出现如图图3.3.3.5所示。
这里是查看上传文件的格式是以二进制(binary)还是文本文件上传。
对于能用文本文件打开的文件,最好选择文本(text)上传,这样有利于文件比较。
对于不能用文本文件打开的文件,需要选择二进制(binary),否则下载下来文件可能打不开或者有问题不能使用。
如果查看文件类型不正确,比如:
.rar文件的上传类型(Entrykind)是txt,那就不正确,需要修改。
选择
.rar那行,点击左下角的Edit,选择二进制(Forcebinary),确定即可。
图3.3.3.5
4、确定后,Import成功会有如下提示,如图3.3.3.6所示。
图3.3.3.6
成功后,要删除本地目录,重新从仓库中CheckOut出来,才可以进行下一步动作。
4.3.4Update得到最新版本
Update得到最新版本,是将服务端文件更新到本地
在对本地的文件修改前,最好先从服务端更新文件,因为多人操作同一个文件时,没有及时更新容易引起冲突。
如甲乙检出的版本同为1.2,修改提交后的版本为1.3,乙此时没有更新,在本地1.2的基础上修改提交,此时就会产生冲突。
更新文件,点击选中文件(可多选),从右键菜单中选择"
update…"
,如图4.3.4.1,出现如图4.3.4.2,选择两个控制项,确定即可。
如图4.3.4.1
图4.3.4.2
(1)第一个是Getthecleancopy,大家一定要慎重使用这个复选框,它的含义是从服务器上得到完全的拷贝,并且覆盖本地的同名文件,如果选择了这一项,那么本地上你所做的全部工作都将丢失,因此在实际工作中该项一般是不选的,一旦误操作那么所有的工作都将全部丢失。
(2)Createmissingdirectoriesthatexistsintherepositories,它的含义是如果服务器上含有你本地没有的文件夹,WinCvs会自动在你本地创建该文件夹,否则不会在本地创建该文件夹,那么你本地的文件就会比服务器上少,所以一般这个选项需要选上,除非你能保证同一个开发小组的其他人员没有创建新的文件夹。
(3)Checkout与Update的区别:
Checkout是把CVS服务器上的module下载到本地进行工作。
该操作一般只在项目开发的最初进行一次。
Update主要同步本地文件(目录)和CVS服务器库中相应文件(目录)之间的差异,使本地相应文件是最新版本,另外Update也能执行获取文件旧版本的操作。
如果需要提取项目的某个版本的文件。
则点击update后做如图4.3.4.2的选择,然后再作如图4.3.4.3的选择。
Byrevision/tag/branch处选择标签或者分支名称。
图4.3.4.3
如果要查看某个日期之前的文件,则点击update后做如图4.3.4.2的选择,然后选择Byda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 CVS 安装 使用手册