版本控制工具CVS使用经验介绍
来源:互联网 发布:mcmc方法的思想和算法 编辑:程序博客网 时间:2024/06/04 17:46
CVS(Concurrent Versions System),并发版本系统的意思,主流的开放源码网络透明的版本控制系统,用于在多人开发环境下的源码的维护。CVS对于从个人开发者到大型、分布团队都是有用的。下面介绍一下我的使用经验。
分支的使用
我们开发使用CVS一般在项目主干head上记录,然而有时我们为了保持版本源码相对稳定,或者为特殊的目的,需要构建分支,分别来管理控制,等源码都稳定下来,再进行分支的合并。可见建立分支的主要目的是得到一个相对稳定的阶段性版本。举个实际例子,我们开发的一个CRM项目,开始是在主干Head上开发源码,经过测试组测试基本稳定了,但仍存在未修复的bug,在发布预发布版本前为了保证程序的稳定性,我们在主干Head上又建立了2个分支:Debug分支、Release分支。Debug分支用于开发人员进行bug的修复、代码的修改、优化、新增需求功能;Release分支用于预发布或正式发布、上线前的测试、客户演示,可以将相对稳定的Debug分支与前一个Release分支(若没有就使用Debug分支)合并(Merge)的版本。这2个分支各有用途,可以独立进行互相不干扰,Head-Debug-Release,Debug是个中间版本,由于发布前发现的问题会比较多,作为发布前的缓冲、过渡、修复代码,保证Release的正常进行。开发中各分支版本打Tag会比较频繁,我们会制定了一些规范让开发人员在tag上记录解决修复问题的记录,如下:
=======此为merger到其他分支的tag模版信息==============================================
YYYY-M-D ←日期 merger人:某某某 ←提交人姓名
start t-debug-xxxx-before end t-debug-xxxx-after patch to release
↑此tag为merger代码的开始tag; ↑此tag为结束tag; ↑此为目标分支;
merger的文件列表:
例如:
cn\zwork\crm\mobile\biz\impl\MobileSystemBizImpl.java
WebRoot\script\appmanage\product.js
========以下为具体bug提交的信息=======================================================
提交人:xxx
解决的问题:oss在ip地址认证错误时,显示提示页面error.html
提交后tag:t-head-20120716-1016-after
提交前tag:t-head-20120716-1016-before
提交的文件列表:\WEB-INF\web.xml、\WebRoot\error.html
修改说明:web.xml增加Dispatcher分发器的路径匹配“<url-pattern>*.html</url-pattern>”
error.html为新增加的页面。
===============================================================================
2012-7-05
提交人:xxx
解决的问题:修改操作日志的操作时间不显示、操作日志进入页面初始查询当天的操作日志
提交后tag:t-debug-20120705-1710-after
提交前tag:t-debug-20120705-1710-before
提交的文件列表:logs-mapper.xml、logs-resultmap.xml、logsIndex.jsp
经过一段时间,Debug、Release基本稳定下来,bug不太多了,我们就可以进行一次阶段性分支总体合并,按如下步骤:1)将Debug分支的代码合并到Release分支上;2)Release分支的代码合并到Head主干上。这样Head、Debug、Release分支又进一步融合一致了,我们又可以在Head上进行开发了,开发一段过程,可能又会遇到上述状况(需要再次发布、版本升级),我们就可以再次按上述的分支建立、合并规则(可以参考,也许有更好的思路),循环往复地进行基于分支的开发管理。
开发时还要注意一点,分支的切换,最好能一个分支建立一个新的工程,比如head、debug、release分别建立一个工程,都与CVS同步。使用eclipse就比较方便做到了。如下:
进入eclipse cvsReporsitories,取得相应分支,使用check out as 另存为新的工程,就可以建立分支对应的工程项目了。不再多说了。
eclipse与CVS工具的结合使用
使用cvs库,如下
可以选择合适的分支进行查看、检出等操作。
在项目工程右击菜单中选择cvs相关菜单项,如下
其中Synchronize with Repository :同步cvs服务器与本地源码,可以执行提交、覆盖等同步操作;
commit:提交当前源码文件或目录;
update:下载服务器最新源码;
Tag as Version:用于打版本标记Tag
Switch to Another Branch or Version...:切换当前工程为另一个分支或版本,如下图,选中后,工程将刷新到新的版本分支。
- 版本控制工具CVS使用经验介绍
- cvs版本控制工具
- 学习CVS版本控制工具
- 版本控制工具VSS使用介绍
- 版本控制工具VSS使用介绍
- 版本控制工具VSS使用介绍
- 版本控制工具SVN和CVS
- 版本控制工具SVN和CVS
- 版本控制工具比较-CVS,SVN,GIT
- 版本控制工具比较-CVS,SVN,GIT
- 版本控制工具比较-CVS,SVN,GIT
- 版本控制工具(CVS、SVN、GIT)简介
- 版本控制工具(CVS、SVN、GIT)简介
- 版本控制工具--CVS
- 使用CVS进行版本控制实战
- 版本控制五(CVS的使用)
- MyEclipse 中使用 CVS 进行版本控制
- 使用CVS进行版本控制实战
- 最大网络流PKU1273
- 对于Spring JoinPoint Pointcut Advice Advisor定义的理解
- 无线mesh网络(多跳(multi-hop)网络)
- 挑选管理软件应注意的几个问题
- #define _WIN32_WINNT 0x0500
- 版本控制工具CVS使用经验介绍
- LWUIT引路蜂地图开发示例:地址查询
- 我写的silverlight bing map control加载GeoServer地图的方法,请高手指教
- 让文本框变灰不可输入
- 三大指标 为你的ERP做健康体检
- QTP_QTP操作CMD
- 小窍门:创建超长链表时加一个特殊头节点优化创建速度
- JadClipse下载安装
- W5300E01-ARM 交叉编译器(Cross Compiler)用户手册 (版本1.0)(四)