网银产品开发部
CVS管理规范
1
文档管理
文档管理
1.1 文档信息
文档名称 | 网银产品开发部CVS管理规范办法 | ||
保密级别 | 内部 | 文档版本编号 | V1.2 |
制作人 | 网银产品开发部 | 制作日期 | 2007-1-18 |
复审人 | 复审日期 | ||
1.2 修改记录
时间 | 版本 | 说明 | 修改人 |
2006-1-17 | 1.0 | 文档初建 | 张昊 |
2006-9-14 | 1.1 | 内容更新 | 张昊 |
2007-1-18 | 1.2 | 文档修订 | 张昊 |
2010-7-30 | 1.3 | 补充分支操作 | 钟方 |
2 内容摘要:
CVS是一个C/S(Client/Server)结构的SCM(Software Configuration Management)系统,主要用于在多人模式的开发中,通过记录文件版本控制文件提交,从而达到保证文件同步的目的。在小组开发中,熟练使用CVS是对开发人员最基本的要求之一;而配置管理员,同样要通过对CVS的管理来完成基线控制,版本发布等工作。
本文将详细描述CVS环境的初始化,用户权限管理,日常使用方法以及分支管理等方面的操作方法,供开发人员和配置管理员参考。
3 CVS环境搭建:
3.1 服务器端:
3.1.1 安装
CVSNT 2.5.03,从/wiki/Download下载MSI格式的安装包并安装
3.1.2 初始化资源库
控制面板----> CVS FOR NT
3.2 客户端:
3.2.1 安装
客户端使用Eclipse 3.1.1做为集成开发工具,从下载ZIP格式的安装包后解压缩到任意目录后运行,之前需要安装JDK1.4.2或更高版本
3.2.2 建立资源库位置xp提交更改
进入Eclipse,选择CVS Repositories Exploring perspective,右键单击视图“CVS Repositories”,选择New----> Repositories Location
点击Finish后,如果验证链接无误,CVS 资源库位置将建立成功
注意:需要首先分配用户权限后才能访问成功
4 用户权限管理:
使用windows2000/XP的用户权限管理来做为CVS权限管理的基础。
4.1 用户建立:
控制面板----> 管理工具----> 计算机管理---->系统工具---->本地用户和组
右键单击“用户”,选择“新用户”
4.2 用户组建立
控制面板----> 管理工具----> 计算机管理---->系统工具---->本地用户和组
右键单击“组”,选择“新建组”
点击添加按钮,将已经建立的用户加入到组中
4.3 资源库权限分配
首先检查共享设置:
Windows 资源管理器---> 工具---> 文件夹选项--->查看
设置资源库所在的文件夹访问权限
5 日常使用
5.1 初始版本建立
◆ 选择要共享到资源库的项目,右键单击,选择Team----> Share Project
◆
选择已经建好的资源库位置(参考3.2.2)
选择已经建好的资源库位置(参考3.2.2)
◆
如果无特殊情况,使用项目名称做为资源库项目名称
如果无特殊情况,使用项目名称做为资源库项目名称
◆
项目添加成功后,运行提交向导进行第一次提交
项目添加成功后,运行提交向导进行第一次提交
◆
如果提交的文件中,有系统未识别的文件类型,将弹出提示窗口,选择正确的文件类型;关于如何设置CVS文件的类型,见5.6
◆
最后检查要提交的文件,将不需要提交的文件去除后,填写注释并提交
最后检查要提交的文件,将不需要提交的文件去除后,填写注释并提交
注释必须填写,规范参考 5.11
5.2 同步版本对比差异
◆ 选择项目,右键单击,选择Team----> Synchronize with Repository
◆
如果之前在Eclipse外面修改了项目内的文件,同步时会出现如下错误提示
如果之前在Eclipse外面修改了项目内的文件,同步时会出现如下错误提示
遇到这种情况,请先选中项目后右键单击,选择Refresh进行工作区更新后重新同步
如果仍然同步失败,请参考 FAQ
◆
同步结束后,选中有更改的文件双击,会打开比较视图
同步结束后,选中有更改的文件双击,会打开比较视图
5.3 更新本地文件
◆ 同步结束后,选中可以更新的文件后右键单击,选择Update更新,更新时注意以下事项:
✧ 对于文件删除的更新请谨慎
✧ 对于自己开发中负责模块的更新,请逐个文件进行比对检查,防止他人误修改后影响自己的开发
5.4 冲突合并
◆ 同步结束后,查看发生冲突的文件,手工合并冲突
◆
冲突分为如下几类:
冲突分为如下几类:
⏹ 我修改了,别人也修改了:请和修改人员沟通后确定合并后的内容
⏹ 别人删除了某段代码:点击“Copy Current Change from Right to Left”
⏹
我添加了内容:此处在合并后不修改
我添加了内容:此处在合并后不修改
⏹ 别人添加了内容:点击“Copy Current Change from Right to Left”
◆
合并完成后,选择合并的文件,右键选择“Mark as Merged”,之后进行提交
合并完成后,选择合并的文件,右键选择“Mark as Merged”,之后进行提交
5.5 提交更改
◆ 同步结束后,选中可以提交的文件后右键单击,选择Commit提交,提交时注意以下事
项:
✧ 如果存在冲突,必须要手工解决冲突后才能提交,方法参考5.4
✧ 严禁使用Override and Commit 进行强制提交
✧ 对于某些特殊文件不允许提交,参考FAQ
◆
填写提交注释,注释必须填写,规范参考 5.11
填写提交注释,注释必须填写,规范参考 5.11
5.6 修改文件属性
◆ 修改本地文件属性设置:Eclipse中Window->Preferences->Team->File Content
◆
选择要更改的文件,右键单击,选择Team----> Change ASCII/Binary Property
选择要更改的文件,右键单击,选择Team----> Change ASCII/Binary Property
◆ 文件属性的设置规则,请参考 FAQ
5.7 文件删除
◆ 首先删除本地文件,同步结束后,选中向右减号的单击,选择Commit提交
删除提交成功后,CVS将把资源库上的文件标记为删除,但并不真正删除源文件,此后可随时恢复删除的文件(参考 5.9 );如果想永久删除源文件,请在CVS所在服务器上手工删除
5.8 文件修改历史
◆ 选择要查看的文件,右键单击,选择Team----> Show Resource History
◆ 单击某版本,可以查看到当次修改对应的版本、修改时间、修改人、注释;
◆ 双击某版本后,可以查看文件内容
◆
文件历史比较:选择要比较的文件,右键单击,选择Compare With----> Revision
文件历史比较:选择要比较的文件,右键单击,选择Compare With----> Revision
选择要比较的版本后双击,打开比较页面
5.9 文件恢复
◆ 选择要恢复的文件,右键单击,选择Replace With----> Revision
选择要恢复的版本,双击可查看内容;右键单击后选择Get Content,将获取历史版本
5.10 断开资源库链接
◆ 将项目从资源库断开:右键单击,选择Team----> Disconnect
◆ 会提示是否删除CVS元数据,建议删除
5.11 注释规范
◆ 严禁提交时不写任何注释
◆ 提交注释时不填写无用的信息,如“张三提交”、“20051011提交”等,CVS会记录提交人和提交时间信息
◆ 初始版本建立时,注释写“初始版本”
◆ 新文件提交时,注释写清文件的用途,如“交易明细查询jsp”、“同城转帐存储过程”等
◆ 提交修改时,如果为需求变更引起的修改,注释写清对应的需求;如果为Bug修改,写“修正Bug”或更详细信息
◆ 提交文件删除时,写清删除原因,如“需求有变此模块停止开发”
◆ 提交文件重命名时,写清修改前后的文件名,如“文件wait.jsp更名为wait_user.jsp”
5.12 分支操作
5.12.1 获得/切换不同的分支
首先工作在不同的分支、主干下会有不同的提示,如图 1、图 2。
CVS 提供了切换分支的菜单,如图。切换后效果如上图在项目上会有标签表明目前是哪个
版本。此处注意,千万要看清分支再做相应修改。
CVS 也可以单独切换一个文件,如下图 web.xml 文件切换成主干 Head 上的版本后如下图:
获得相应的分支后,我们就可以做相应的修改了。
实际上我们操作可以在本分支切换其他分支文件版本,然后在本分支修改其他分支版本,或 进行以下的版本追平工作。但无论如何都要确保修改的是正确分支上的正确版本。
5.12.2 在不同的分支上开发
如上切换后就如正常开发,不再赘述。
5.12.3 不同的分支的追平、合并
在 Eclipse 客户端,主要使用的分支追平、合并工具有:手工、Merge、Compare(只是比较)。 手工合并:最没有办法的就是切换到不同的分支,然后提交,但这样会照成版本的冲突。不推荐采用。
Compare 的作用就是比较,使用步骤如下图: 步骤一:
步骤二:
步骤三:
Merge 的作用就是合并、版本追平,如下图:
步骤一:在合并前先将项目或文件切换到目标分支上去(该步骤很重要),如下图 Switch to Another Branch or Version。然后选择要 Merge 的项目或文件(都支持),选择 Merge。如下 图:我们推荐开发人员更改某几支程序需要修订时使用这几支程序进行 Merge,在某分支到 了下发版本等时刻需要合并的,使用整个目录进行合并。
步骤二:
注意理解此步骤:选择基准版本(start tag),选择源版本分支(end tag)。这个对话 框的意思是:比较源版本分支上 Start tag/ end tag 之间发生的变化(例如修复分支修改 BUG 修订了多少支程序),然后将这些列表的程序文件内容与目前 workspace 中的目标版本比较, 看目标版本的这些程序是否发生变化、冲突等等,然后按以下方式进行合并。
因为我们要将主干(开发库)上的修改合并到其他分支,我们在 Eclipse 切换到其他分 支,然后选择 Merge 如下图,下图的意思就是在主干上的 Root_DEV_FIRST 的标签到 Head 最新版本修改的内容合并到 workspace 目前所打开的分支。
比较后结果如下:
在 TextCompare 编辑器中按以往版本合并方式进行合并,然后在 Explore 中 commit 该文件 即可。
6 FAQ
1) 无法同步
详细描述:同步文件时报错,错误信息为:“an error has occurred processing file……”,无法正常同步
解决方法:把使用的CVSNT从2.0.*升级到2.5.03
2) 无法修改文件ASCII/Binary属性
详细描述:错误信息为:“cvs server: admin -k no longer affects future checkins. Use update -k / commit -f instead.”,修改无效
解决方法:手工修改,将命令型如
cvs admin -kb "/innermanage/WebContent/image/1.gif"
改为如下形式后执行:
cvs update -kb "/innermanage/WebContent/image/1.gif"
cvs admin -kb "/innermanage/WebContent/image/1.gif"
改为如下形式后执行:
cvs update -kb "/innermanage/WebContent/image/1.gif"
3) 有哪些文件不用提交?
回答:下列文件不用提交
◆ Java项目中生成的class文件
◆ Image文件夹中windwos生成的Thumbs.db文件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论