没有合适的资源?快使用搜索试试~ 我知道了~
2002年6月28日,Eclipse2.0正式版已经正式完成,这将是Java开发工具历史上的一个重要事件,Eclipse开始步入成熟阶段。本文借此机会介绍在Eclipse中使用版本控制系统CVS的一些经验和技巧。首先介绍为什么Eclipse要使用CVS来作为自己的版本控制系统而放弃了有着很好口碑的VisualAgeJava的ENVY,然后简要讲述CVS系统的背景及NT平台下CVS服务器的安装和设置。接下来,针对Eclipse,详细讲解了使用CVS进行团队开发时的开发流程以及在Eclipse中具体使用的重要操作方法。背景在VisualAgeJava之后,IBM推出了新一代的开放源码软件开发平台E
资源推荐
资源详情
资源评论
在在Eclipse2.0中使用版本控制系统中使用版本控制系统CVS
2002年6月28日,Eclipse 2.0正式版已经正式完成,这将是Java开发工具历史上的一个重要事件,Eclipse开始
步入成熟阶段。本文借此机会介绍在Eclipse中使用版本控制系统CVS的一些经验和技巧。首先介绍为什么
Eclipse要使用CVS来作为自己的版本控制系统而放弃了有着很好口碑的Visual Age Java的ENVY,然后简要讲
述CVS系统的背景及NT平台下CVS服务器的安装和设置。接下来,针对Eclipse,详细讲解了使用CVS进行团队
开发时的开发流程以及在Eclipse中具体使用的重要操作方法。
背景
在Visual Age Java之后,IBM推出了新一代的开放源码软件开发平台Eclipse,在此基础上打造其核心产品
WebSphere家族。而对于大部分个人开发者而言,Eclipse作为一个崭新的Java集成开发环境提供了一个非常具
有吸引力的选择,已经得到了越来越多开发者的关注和喜爱。
项目的版本控制对于团队开发是极端重要的,对于个人开发者也是项目复杂化时不可缺少的工具。
在Visual Age Java中,由于Visual Age Java特有的项目数据存储方式�D�D所有的相关文件都存在一个二进制
文件中,可以做到直接内置的版本控制,这一系统也就是著名的ENVY,它在Visual Age Java的使用者中有着非
常好的口碑。
而在Eclipse中,情况有了变化。ENVY把项目数据存储在二进制文件中,也即所谓基于Repository的存储,而几
乎所有其他集成开发环境的项目数据存储方式都是基于文件的,项目的所有相关文件直接作为物理文件存储在硬
盘上。两种方式各有利弊,有许多刚接触Visual Age Java的用户很不习惯ENVY,认为看不见文件使得自己失去
了直接感,反过来也有Visual Age Java的忠实用户极力支持和赞扬ENVY。(不过作者认为,在Visual Age Java
中开发者至少可以几乎完全不用花心思在文件路径问题上,这个问题一般总是会耗费新手甚至老手的大量时间和
精力。)在Eclipse中最终使用了基于文件的存储方式,这样增强了透明性和互操作性,但是要达到Visual Age
Java以前做到的项目管理和源代码控制就必须采用不同的方式。
Eclipse的内置版本支持
Eclipse本身内置了一定程度的版本支持,也就是所谓的Local History。在Eclipse中编辑的文件每次存盘都会留
下记录,可以随时与历史记录比较,恢复到某一个时刻的状态。在资源视图(Resource Perspective)或者Java
视图(Java Perspective)中的文件上点右键,选择Compare With,Local History,就会得到如下的画面,可以
很清晰看到各个版本的区别。
图图1::Eclipse中的内置版本支持:中的内置版本支持:Local History。。
如果需要,则可以通过Replace With,Local History来恢复到任一个以前的版本。当然,这样版本的历史是有限
制的,可以在Eclipse的Preference中设置。在Preference�D>Workbench->Local History中,可以设置保持最
多保持几天的文件,每一文件的版本数目,历史文件的大小限制。
但是,这样的版本系统只实现了最基本的版本功能,如果想把文件某一个状态标记为一个版本,加上注释(仅仅
从Local History中的保存时间很难看出每一个版本的特点,也难以找到重要的关键版本),或者想把某个目录乃
至整个项目版本化,Eclipse内置的Local History都是无能为力的。
好在Eclipse基于开放的思想,采用了业界标准的版本控制系统CVS,这样不仅很好地实现了版本控制的功能,
对于已经熟悉CVS的开发者来说也更容易使用,更重要的是,可以为团队开发提供更加灵活和开放的选择:项目
的数据可以存储在一个CVS服务器内,不同的开发者甚至可以采用不同的开发工具,只要这些工具都支持CVS。
也许这时我们可以理解为什么Eclipse放弃了Visual Age Java的业已很成功的ENVY系统,这一点很好地体现了
Eclipse的开放性和对其他软件的良好互操作性。
CVS
CVS是Concurrent Versions System(并发版本系统)的缩写,基于Unix体系中成熟的SCCS(Source Code
Control System)和RCS(Revision Control System)开发,是一个开放源码的项目,目前已是版本控制系统的
主流软件。一个很常见的使用CVS的场合,就是开放源码项目。由于开放源码项目的开发者的分布性,对于版本
管理的要求更加严格,而目前大部分的开放源码项目几乎都是采用CVS来管理源代码,CVS的标准性和强大可见
一斑。
CVS采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者开发时都首先从服务
器上获得一份自己的拷贝,在此基础上进行开发,以避免直接影响服务器上的数据。开发者可以随时把自己的新
代码提交给服务器,并通过更新获得代码的最新状态,保持与其他开发者的一致。
CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户端软件)在任何时候,
任何地点通过网络来获取最新的代码。
对于Eclipse的开发者而言,Eclipse本身内置了CVS支持,不需要使用其他客户端软件,只要建立一个CVS服务
器,就可以使用这一强大的版本控制系统了。
CVS起源于Unix/Linux平台,关于Unix/Linux平台下的安装使用的介绍文章很多,这里就不再重复,读者如果需
要在Unix/Linux平台下建立CVS服务器,可以参考本文附录的相关资源。
在Windows平台上也有CVS的一个实现�D�DCVSNT,CVSNT的安装有一定困难,这里我们做一个简单介
绍。 CVSNT的安装
首先到CVSNT的主页 http://www.cvsnt.org下载最新版本,目前是CVSNT 1.11.1.3 (Build 57f)。
CVSNT的安装有一些注意事项,请读者尽量按照下面所说的步骤来进行安装,描述主要针对Windows 2000。如
果读者在安装过程中还有问题,可以参考本文附录的资源中关于CVSNT的安装技巧的文章或邮件列表。
1. CVSNT可以安装在Windows NT4 服务器或工作站SP6, Windows 2000服务器或专业版,Windows XP专业
版上。
2. 以管理员账号登陆,首先修改环境变量。直接执行安装程序,很有可能在最后会出现无法创建路径变量的
错误,为此我们首先修改环境变量,设定路径。假设我们要把CVSNT安装到D:\app\cvsnt目录下(与
CVSNT相关的内容最好安装到NTFS分区上,也尽量不要使用含有空格的目录名或者文件名,虽然CVSNT
已经尽量支持包含空格的目录名和文件名,但仍有可能出现问题),那么打开控制面板,系统属性,高
级,环境变量,系统变量中的Path,添加上D:\app\cvsnt并保存设置。
3. 接下来可以执行安装程序,修改安装目录,一步步完成安装。
4. 从开始菜单的程序组中启动CVSNT配置程序Configure Server。这时应该看到服务器还没有运行(CVSNT
作为系统服务运行),如果已经运行了,先把它停下来。
5. 选择第二个选项卡Repositories,首先勾上Repositories prefix(数据库路径前缀)的选项。CVSNT中只有
一个数据库路径前缀,在这同一个前缀下,可以有多个数据库。相应的,所有的数据库都位于数据库路径
前缀对应的目录之下。这里我们假设数据库都存储在E:\work\cvsrepo下,点击省略号按钮来选择
E:\work\cvsrepo作为数据库路径前缀。
6. 点击下面的Add按钮添加数据库根,可以有多个。比如我们将/work作为我们的工作项目的存储根。注意添
加时系统自动把已设定的E:\work\cvsrepo作为了路径前缀。
7. 选择第三个选项卡Advanced,勾上全部选项,包括Use local users instead of domain。设置临时目录,假
设为E:\work\cvstemp。注意要保证临时目录的安全设置(右键点击目录属性,共享,权限)给所有帐号以
完全控制权限,包括SYSTEM帐号。并且,绝对不能把临时目录设在诸如C:\WINNT\TEMP或者
C:\Documents and Settings下的任何地方,因为这些地方对于用户的访问是有限制的。
8. 点击应用以保存设置,这一点相当重要。
9. 现在可以回到第一个选项卡,点击Start按钮,服务应该正常启动运行了。如果有问题,可以打开一个命令
行窗口,输入path命令来检查路径是否已经设置正确,也许需要重新启动来使设置生效。
10. 打开一个命令行窗口,输入如下命令,用你的实际计算机名和用户名替代尖括号内的内容,注意对于NT
Server,不能用localhost作为计算机名,必须使用实际计算机名: set cvsroot=:ntserver:<计算机名>:/work
这一命令通过设定cvsroot这一环境变量,设定/work为目前的cvs数据库根。这里使用ntserver模式,这一
模式比较适合服务器就在本地的情形。它要求局域网或者域内所有机器的用户帐号相同,客户端使用
Windows NT,Windows 2000或者Windows XP。pserver模式是缺省的,除非关掉2401端口,下面我们的
Eclipse就是使用pserver模式。 cvs passwd -a <你的NT用户名> 这一命令设定CVS中的用户名和密码,输
入后将提示你输入密码。注意如果需要CVS 服务器同时以ntserver和pserver模式运行,那么密码最好不要
和系统中用户的真实密码相同以保证安全。这里的用户必须是服务器上的真实用户,不过可以给真实用户
设定一个不同的使用名alias。使用命令: cvs passwd -a -r <你的NT用户名> <CVS帐号别名> 必须注意,
这些名字里最好不要使用任何空格。如果必须的话,可以用双引号括起来。
11. 到此为止,CVS服务器已经初步设置完成,可以使用了。缺省情况下,服务器将作为NT服务自动运行。读
者既可以使用命令行的CVS命令,也可以使用各种CVS客户端来连接CVS服务器,执行CVS操作。不过,
下面我们主要介绍在Eclipse中通过内置的CVS支持来使用CVS系统。
在Eclipse中使用CVS系统
前面已经提到,CVS的数据存放在服务器的数据库中。为了支持Concurrent这一并发特点,CVS使用了一个分枝
(Branch)模型,以保证不同开发者的相对独立,但是又高度集成。分枝可以看成一个开发团队共享的工作区
剩余8页未读,继续阅读
资源评论
weixin_38504170
- 粉丝: 3
- 资源: 937
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功