您的位置:软件测试 > 开源软件测试 > 开源配置管理工具 > cvs
使用WinCVS进行版本控制
作者:网络转载 发布时间:[ 2013/3/13 16:17:07 ] 推荐标签:

一、客户端的配置

    启动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. 充分利用标记和分支管理开发团队

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd