没有合适的资源?快使用搜索试试~ 我知道了~
Eclipse中使用版本控制系统CVS记录
资源推荐
资源详情
资源评论
Eclipse中使用版本控制系统CVS_记录
http://hi.baidu.com/fishfast/blog/item/72392afa794b4516a8d311b2.html(第 1/12 页)2009-6-11 16:00:31
记录自己学习工作,人生的点点滴
滴
百度空间 | 百度首页 | 登录
记
录
主页
博客
相册
|
个人档案
|
好友
Eclipse中使用版本控制系统CVS
2009-06-02 10:25
查看文章
前言
项目的版本控制对于团队开发是极端重要的,对于个人开发者也是项目复杂化时不可缺少的工具。
本文介绍如何在Eclipse中使用版本控制系统CVS。首先,我们将简要讨论一下团队代码开发的思想,然后简要讲述CVS
系统的背景及Windows平台下CVS服务器的安装和设置。接下来,针对Eclipse,详细讲解了使用CVS进行团队开发时的
开发流程以及在Eclipse中具体使用的重要操作方法。
背景
现今的大多数应用程序是由多人组成的团队开发的。即使只涉及几个开发人员的小项目,也需要对源代码的更改进行严格
控制。这就是源代码管理软件的任务。源代码版本控制软件必须支持两个核心功能:
* 提供一种方法,能够协调对源代码的更改,并能集成这些更改
* 团队所提交工作的历史记录
当团队成员完成新的工作时,通过将这些更改提交到资源库(repository)中来共享他们的工作。类似地,当他们希望获得最
新可用的工作成果时,就可以根据资源库中的更改,更新自己的本地工作空间(Workbench)。这意味着资源库的内容会因
团队成员提交新工作成果而经常发生更改团队成员都要能够根据资源库更新自己的工作空间,确信它们是最新的。
维护历史记录也很重要,那样就可以将当前工作与先前版本进行比较,如有必要,还可以回复到先前版本。协调团队的工
作,以便只存在唯一的当前项目状态定义,以及包含团队已集成的工作,这些对于管理版本控制也是十分必要的。这种协
调有可能是最难实现的目标。
最理想的模型是:团队的任何成员都可以对自己有权访问的任何资源进行更改。因为两个团队成员可以提交对同一资源的
更改,所以有可能发生冲突,必须解决这种冲突。
这 种模型假定冲突具有唯一性。但遗憾的是,没有任何源代码是孤立地存在的;通常它包含与其它资源隐式或显式的相
关性。但源代码管理软件的工作就到此为止了,因为它并不能取代项目管理。项目管理者必须履行其职责:协调其它成员
的工作以及负责进度、项目阶段和发布日期。此外,源代码管理也不能替代开发人员之间的 交流。
Eclipse的内置版本支持
Eclipse 本身内置了一定程度的版本支持,也就是所谓的Local History。在Eclipse中编辑的文件每次存盘都会留下记录,
可以随时与历史记录比较,恢复到某一个时刻的状态。在资源视图(Resource Perspective)或者Java视图(Java
Perspective)中的文件上点右键,选择Compare With,Local History,就会得到如下的画面,可以很清晰看到各个版本
Eclipse中使用版本控制系统CVS_记录
http://hi.baidu.com/fishfast/blog/item/72392afa794b4516a8d311b2.html(第 2/12 页)2009-6-11 16:00:31
的区别。
图1:Eclipse中的内置版本支持:Local History。
如果需要,则可以通过Replace With,Local History来恢复到任一个以前的版本。当然,这样版本的历史是有限制的,可
以在Eclipse的Preference中设置。在 Preference―>Workbench->Local History中,可以设置保持最多保持几天的文
件,每一文件的版本数目,历史文件的大小限制。
但是,这样的版本系统只实现了最基本的版本功能,如果想把文件某一个状态标记为一个版本,加上注释(仅仅从Local
History中的保存时间很难看出每一个版本的特点,也难以找到重要的关键版本),或者想把某个目录乃至整个项目版本
化,Eclipse内置的Local History都是无能为力的。
CVS
好在Eclipse 平台提供了作为团队在软件项目中共享代码和工作的能力。
Eclipse 平台体系结构的重点在于工作空间。工作空间维护构建和测试软件项目所需的一切,它包含源代码和所需其它资
源文件。工作空间是在开发人员的本地机器上进行维护的,但整个团队通过源代码管理系统进行协作,不同开发人员的代
码在源代码管理系统中进行汇集。Eclipse平台只对一个源代码管理系统提供内置支持:并发版本控制系统(Concurrent
Versions System,CVS)。
CVS是Concurrent Versions System(并发版本系统)的缩写,诞生于 1986 年,现在已经发展成了最流行的针对软件开
发人员的源代码版本管理解决方案。CVS 是用于代码版本管理的开放源码的客户机/服务器解决方案,它可用于各种平
台,包括 Linux 和 Windows NT/2000/XP。
通常,CVS 的主要功能是记录源文件的历史。当一组开发人员从事同一个项目时,CVS 将他们彼此隔离开来。每个开发
人员都在他/她自己的目录中独立工作,然后使用 CVS 资源库(经常地)合并工作结果,共享其工作。
CVS 采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者开发时都首先从服务器上获
得一份自己的拷贝,在此基础上进行开发,以避免 直接影响服务器上的数据。开发者可以随时把自己的新代码提交给服
务器;也可以通过更新获得代码的最新状态,保持与其他开发者的一致。
CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户端软件)在任何时候,任何地点
通过网络来获取最新的代码。
对于Eclipse 的开发者而言,Eclipse本身内置了CVS支持,Eclipse 拥有与 Eclipse 平台 IDE 紧密集成的内置 CVS 客户
机,它是作为一个单独透视图(CVS Repository Exploring 透视图)而实现的,用于与 CVS 的交互。
基本概念
HEAD与分支(Branch)
CVS 使用分支(branch)模型来支持彼此独立而又高度相互依赖的多个工作流程(course of work)。分支是开发团队用
来共享正在进行中的工作的地方。任何时候,团队成员都可以使用一个分支的内容作为新工作的基础。
您在Eclipse工作空间中进行本地更改时,您的工作是基于某一个分支的。当您准备好让其他小组成员使用您对本地资源
Eclipse中使用版本控制系统CVS_记录
http://hi.baidu.com/fishfast/blog/item/72392afa794b4516a8d311b2.html(第 3/12 页)2009-6-11 16:00:31
文件的更改时,需要将您的工作成果提交至分支。其他开发者稍后必须从分支更新。
每个 CVS 资源库都至少有一个分支,称为 HEAD。HEAD代表CVS里的主流分支。在特定情况下,资源库中可以存在多
个分支。例如,一个分支可能用于正常的开发,而另一个分支可能用于实验新技术在当前项目的可用性的开发。
创建分支并将资源发布到该分支在尚未准备好将更改置于主开发流的情况下非常有用。对于创建现有版本的增量补丁程序
也很有用。
模块(Module)
在CVS当中,您可以把本地工作空间中的项目放到一个资源库的HEAD分支中,CVS把它命名为模块。一个分支可以有许
多模块。可以讲,您在本地工作空间中的项目是一个模块的本地工作拷贝。HEAD分支中具有所有的模块。模块可以具有
子模块。模块可以被拷贝到其他分支中去。
修订版(Revision)
每个在本地修改的资源文件都属于某个分支,当您提交这个文件的修改后,CVS资源库都会对这个文件建立一个修订版,
例如开始时某个文件是1.1版,您提交一次修改后,它将变成1.2版。
由于在一个项目当中,一些文件的提交要比另一些文件频繁,所以项目中不同文件的修订版的标号可能不同。
版本(Version)
版本是指某个分支中一个模块的当前状态的快照。当设置模块的版本(Tag as version)时,就意味着在资源库中建立该模
块的不可修改副本。
一般我们会在每日创建模块的一个版本进行功能或集成测试,也会在项目完成前创建beta1、beta2等版本,会在项目完成
后创建release版。
您应该在某一版本(Version)上创建分支,便于以后访问分支基点。
CVSNT的安装
CVS起源于Unix/Linux平台,但在Windows平台上也有CVS的一个实现――CVSNT,这里我们对CVSNT的安装做一个简
单介绍,便于您实验CVS的操作。
首先到CVSNT的主页http://www.cvsnt.org下载最新版本。
CVSNT的安装有一些注意事项,请读者尽量按照下面所说的步骤来进行安装,描述主要针对Windows 2000。如果读者在
安装过程中还有问题,可以参考本文附录的资源中关于CVSNT的安装技巧的文章或邮件列表。
1. CVSNT可以安装在Windows NT4 服务器或工作站SP6, Windows 2000服务器或专业版,Windows XP专业版上。
2. 以管理员账号登陆,首先修改环境变量。直接执行安装程序,很有可能在最后会出现无法创建路径变量的错误,为
剩余11页未读,继续阅读
资源评论
davisking85
- 粉丝: 4
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DatabaseWatermarkingBasedonTextFormat
- -移动通信-网络课程设计与研究
- 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip
- 甘肃移动全业务工程建设项目管理流程优化研究
- 549springboot + vue 民宿管理平台.zip (可运行源码+数据库文件+文档)
- ZArchiver.Pro_0.9.5.apk
- vmware环境配置.mp4
- 548springboot + vue 大学生社团活动平台.zip(可运行源码+数据库文件+文档)
- 微信小程序 辩论倒计时小程序源码 作业设计demo 计算机专业参考
- 深入探究文件IO,嵌入式Linux
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功