[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 应用专题 > CVS > 正文

使用WinCVS进行版本控制

来源:GRO.net (2005-08-24 17:38:13)

  一、客户端的配置

  启动pagent,添加私钥;启动wincvs,配置好preference选项(admin菜单里)

  详情请见CVS客户端配置

  让我悄悄告诉你,在preference里最好将“globe”选项卡中的“checkout read-only”置空,这可是tianyuan的秘技:)

  二、初始化

  如果你已经连上服务器,做过checkin、checkout等工作,可以略过这一步。

  选择creat->>creat a new reporsitory,无需更改默认配置,确认即可。

  如果一切正常,会在窗体下部的output窗口显示如下信息:

  cvs -d :ext:monkey@monkeygro:/cvs/hrsystem init

  *****CVS exited normally with code 0*****

  第二行如果不是以“0”结尾,出现其他数字,就表明出错了。

  三、上传文件(checkin)

  窗体中部左边有一个explore页,点击它,选择你准备上传的文件夹;点击菜单栏的creat->>import module from selection,会跳出一个import filter窗体。如果你的文件里有错误,import filter窗体里就会有error或warn标志,如果真是这样,你最好还是先看一看有何问题。

  下一个跳出的窗体是import setting,在select the module name and path on the remote server里面填上一个名称,当你的文件传上服务器后,cvs服务器里就会以这个名称建立一个代码库,存放刚才传上来的文件。

  请记住,下拉框并没有什么神奇的功能,它只能记住你上次填进去的东西。

  四、下载文件(checkout)

  经过上一步操作,你在服务器里就有了源代码,所有的开发者可以开始工作了。

  当然,开发者需要先下载一个拷贝到本地才能修改它。

  1、建立本地工作目录

  在自己的硬盘上新建一个目录,很多人都取名为“work”,表示这是工作目录。其实,这只是一个好习惯而已。

  2、下载文件

  选择creat->>checkout module,出现的窗体是checkout setting,在module name and path on the server中填写你在第三步(上传文件)中,上传到服务器中的模块名称。如果你记不住第三步你填写了什么,你可以先看一看本文的第九步。

  五、修改与提交

  1、edit与uedit命令现在,你可以准备修改源代码了。不过,当你到自己的本地工作目录中,可能会发现下载回来的文件都是只读的,这是因为你在第一步中preference中,没有将checkout read-only置空。

  在wincvs中,你到窗体中部的module页中,找到自己准备修改的文件,在右边的浏览窗口里选中它,然后选择菜单栏中的trace->>edit selection,就可以将不可读的文件置为可读。

  2、更新(update)

  你喜欢那一种开发工具?VB、VC、JAVA还是DELPHI?现在你可以开始你异常熟悉的代码开发工作了。

  无论你用那种工具,当你修改了工作目录中的文件后,在wincvs里,你就可以看到这个文件变成红色了。

  有一个好习惯是,在你准备提交到服务器之前,先更新一下,因为有可能别的开发者在你修改这个文件的同时,也可能也修改了这个文件,这就有可能会存在冲突,我们总是在提交前先处理冲突。

  更新的操作很简单:选中你修改了的文件,在菜单栏中选择modify,一般情况下,无需修改默认选项。

  处理冲突请看本文第十节 冲突处理

  六、标记(tag)

  标记是版本控制中很重要的功能。

  除了通常的作用,它还可以标记修改者,让大家知道,是谁提交了一个新版本。

  在wincvs中选择准备标记的文件,然后在菜单栏中选择modify->>creat a tag on selection;马上creat tag setting窗体会出现,在new tag name中填入标记名即可。

  七、分支的管理

  我们在这里先详细说一下分支的作用。

  我们设计了一个图书管理系统,把1.0版交给了客户A大学;然后我们继续开发,有了新版本1.1版、1.2、1.3......这时A大学告诉我们,1.0版本有bug,我们很快在1.0版本的源代码中找到了错误所在。

  这时候,最简单的解决办法是给A大学一个bug patch。你会问,为什么不给客户最新版本?原因很简单:第一,我们还没有检查最新稳定版本中又无此bug;第二,客户的系统已经运行了一段时间,升级到最新版本上可能还会发生更多新问题。

  那么,我们就应该在1.0版本上建立一个分支,在这个分支上进行开发,修改bug ,创建bugpatch,客户马上就能解决问题了。

  然后我们关起门来,查看最新版本上又无此bug;如果有,就将分支合并到主版本上,解决最新版本的问题。

  实际操作如下;

  在菜单栏的creat->>creat a branch,在跳出的creat branch setting窗体上,new branch中,填入你给分支取的名字;在module to fork中填入文件名;请记住,你要在rtag options选项卡中,选中rev./tag/branch,填入版本号。如果你这里不填,生成的分支将会以最新版为分叉点。

  八、锁定文件

  这可是武汉自由软件协会的另一个秘技。

  一般而言,在项目小组中,项目经理会定期公布最新的基础版本,要求小组成员都在这个基础版本上进行进一步开发。

  在实际工作中,总会有些成员提前完成工作,他们提交更改后,最新版本就会比项目经理发布的基础版本的version更高。

  有时候,某些项目成员会有意无意修改基础版本,并且指定提交到基础版本上,如果允许他们提交修改,大家可能都会在一个错误的基础版本工作,后果是不堪设想的。

  锁定文件的操作如下:

  菜单栏的admin->>comandline,输入这个命令:

  cvs admin -l版本号 文件全名

  注意,-l和版本号之间没有空格。

  如果你锁定成功,会有如下提示:

  RCS file: /cvs/hrsystem/test/new.txt,v

  1.1.2.3 locked

  done

  *****CVS exited normally with code 0*****

  九、文件浏览。

  1、文件标志浏览

  2、通过web页面浏览

  3、文件对比

  十、冲突处理

  十一、管理员的工作

  1、协调小组,制定代码管理规范

  2、及时发布官方版本信息

  3、充分利用标记和分支管理开发团队


(http://www.fanqiang.com)



 相关文章
CVS RCS HOWTO 原始程式码版本控制系统 (1) 2001-05-02 10:09:53
CVS RCS HOWTO 原始程式码版本控制系统 (2) 2001-05-02 10:10:18
CVS RCS HOWTO 原始程式码版本控制系统 (3) 2001-05-02 10:11:41
CVS 速成班 2001-04-21 17:54:50
使用CVS进行版本管理 2001-04-21 20:24:35
CVS 简介 2001-06-05 18:08:00
用CVS来管理自己的程序 2001-08-09 15:00:00
cvs的配置和使用 2001-09-10 08:00:00
使用CVS进行项目开发管理 2001-11-06 07:00:00
CVS使用探讨 2002-06-27 06:02:00
CVS的常用命令速查手册 2002-09-28 11:05:16
CVS服务器快速指南 2005-08-24 16:59:20
用CVS来管理自己的程序 2005-08-24 17:21:04
在 RedHat Linux 7 上安装 CVS 并将其配置为 SCM 资源库 2005-08-24 17:34:27
CVS客户端配置 2005-08-24 17:39:12
CVS在项目中能为我们干什么? 2005-08-24 17:40:19

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com