本篇文章主要讲述版本管理中的标记用法,目前假设已经安装了CVS并且配置了环境变量CVSROOT,在前面的文章中又相关的记录,[url]http://tianli.blog.51cto.com/190322/32067[/url]可以直接的使用CVS命令进行版本操作。试验环境windows,使用命令提示符。
       1.使用命令提示符检查是否安装了cvs,
       命令:cvs –v
       输出的信息应该是版本软件的版本信息。
       2.新建一个文件夹,mkdir sandbox ,进入文件夹,cd sandbox编辑一个文件a,
       命令edit a
       输入
the first line is
       [回车]
       [回车]
              The second line is right
       Alt-F,alt-s,alt-x退出到命令窗口,
       3.确保当前文件夹下面只有一个文件a,导入当前文件夹下面的所有文件作为一个工程,       import –m”initian” sandbox  k6soft  initial      
         Sandbox为工程的名字,以后可以按照这个名字导出,
         K6soft 为软件提供商,可以任意,
         Initial 为初始的版本标记,
         -m参数为日志信息
       4.删除文件a,进入上级目录,删除目录sandbox, del a,del sandbox
              检出项目cvs co sandbox
       5.进入sandbox编辑文件a,并提交
              Cd sandbox
              Edit a
                     使第一行变为the first line is wrong
              Commit –m”finished the first line”
       6.为当前开发的工程做一个发布分支
              Cvs rtag –b BR_1_0 sandbox
       Rtag命令实在仓库中进行操作的,不需要当前的目录在cvs的检出模块中,这是和tag命令不同的地方,rtag命令对仓库中的一个项目的所有文件打上标签,因此需要项目的名称sandbox.
7.进入上级目录,检出BR_1_0分支的所有文件,
       Cd ../
Cvs co –r BR_1_0 sandbox –d BR_1_0
8,进入BR_1_0目录,修改文件a,把第一行修的wrong 修改为right,提交
       Cd BR_1_0
       Edit a
       Commit –m”modiy a bug”
9.BR_1_0种的所有文件打标签作为发布版本,
       Cvs tag REL_1_0
       Tag命令把本地工作区中的所有文件对应的仓库中的文件打上标签,不需要提交
10.进入主干代码目录,新增加一行,提交
       The thir line add in main branch
       Cd ../sandbox
       Edit a
       Cvs Commit –m”add last line”
A的版本应该为1.3
11.合并BR_1_0中的所有修改到主干代码,提交
       Cvs update –j BR_1_0
       Cvs commit –m”merged bugs in BR_1_<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0”
12.进入分支中工作,修改发布版本中的一个bug,修改之前为要修改的文件打上标签PRE_1234,修改之后打上标签POST_1234,其中1234作为BUG的编号,
       Cd ../BR_1_0
       Cvs tag PRE_1234
       Edit a
       在第一行修改 the first line is right modified in branch
       Cvs commit –m”在分支中修改一个BUG”
13.进入主干代码,把pre_1234post_1234之间的修改合并到主干中
       Cd ../sandbox
       Cvs update –jPRE_1234 –jPOST_1234
       Commit –m”merge bugs from branch”
如果有冲突,将会合并相应的代码并别把冲突的代码标示出来。
建立分支,发布版本,修订错误,合并修改的错误,在本试验中都有体现,如果有什么疑问或者不是很明白的地方,请随时留言。本人将会耐心答复。