在Eclipse中使用版本控制系统CVS(转)(二)

来源:互联网 发布:校园网络诈骗案例 编辑:程序博客网 时间:2024/06/07 16:32
在Eclipse中使用版本控制系统CVS(转)(二)
2008-06-20 10:35

基本工作流

开发者可以提交(commit)自己的工作,并通过更新(update)与其他人的最新修改保持同步。提交是把自己的修改提交给数据库,更新则是得到其他人的修改。

因此,在Eclipse中使用CVS进行团队开发,理想的开发流程应该是这样的:


2:团队开发流程

1.       开始工作前,要保证所有工作区的资源与最新的分枝状态一致。对于从头开始的新项目,首先要连接服务器,设定存储那些资源文件。对于在服务器数据库中已经有记录的项目,首先要通过更新来保证工作区的资源状态最新。

2.       进行本地工作,先在本地保存修改。

3.       与资源库同步。某一阶段工作完成后,要和资源库的数据同步。

1.       首先应该更新(Update),检查所有的Incoming改变,输入到本地,看是否会影响自己的工作,是否会造成冲突,破坏完整性等等。

2.       检查完更新后,可以确认自己的工作和最新的Branch内容是一致的,就可以提交(Commit)自己的修改了,标上适当的注释。

设置资源库的位置

首先设置Eclipse来连接CVS服务器资源库,它将定义用于选定 CVS 服务器/资源库的连接参数。

切换到CVS Repository Exploring 透视图,使用菜单Window -> Open Perspective -> Other -> CVS Repository Exploring


你也可以在Eclipse中设置一些CVS选项,可以通过Window -> Preferences window -> Team。具体含义我们将在后面的章节中论述。

 

CVS Repository Exploring中右键选择new->repository location...,会出现下面屏幕。

 

在“主机Host”里可以输入localhost,因为我的CVS服务器就在本机上。

在“资源库repository”中输入你要连接的CVS的资源库名称,项目数据存放在这个路径下。

在“认证Authentication”中输入你在CVS服务器上的用户名和密码。

在“Connection type连接类型”中选择pserver,端口是缺省时不用改动。

注意:上述所有参数的更详细解释,查看CVSNT一节的具体描述,在实际项目中,各项参数的获得需要联系你的CVS管理人员。

接下来可以直接点击Finish完成设置。如果你选择了Validate Connection on Finish,那么,Eclipse会使用你提供的连接参数连接CVS资源库,如果失败,它会通知你。

共享项目

开发人员可以通过将其现有的项目资源迁移到资源库中来共享它。

首先在Eclipse 的资源视图(Resource Perspective)或者Java视图(Java Perspective)中要共享的项目上点右键,选择Team->Share Project,将出现提示窗口,选择是使用已知的CVS数据库位置还是新建数据库位置。我们将使用前面建立的连接,当然,我们可以定义新的连接,那将出 现前面的设置资源库的位置步骤。

3. 使用 CVS 资源库共享本地项目

如果点击下一步,可以继续定义在CVS中是否使用与项目不同的名字作为模块名,缺省是使用相同的名字。模块与CVS资源库的目录对应,编写相同项目的团队共享CVS资源库中相同的目录。

 

注意在Eclipse右下角的Tasks和Console的位置新出现了一个Synchronize窗口。

同步视图上工具条的图标标明了同步(Synchronize)视图现在处于的模式。同步(Synchronize)视图有Incoming(入局)模式、Outgoing(出局)模式、Incoming/Outgoing(入局)/出局)模式和Conflicts(冲突)模式共四种模式。

Incoming模式时,同步(Synchronize)视图下列出所有需要更新(Update)的资源文件。

Incoming模式时,同步(Synchronize)视图下列出所有需要提交(Commit)的资源文件。

Incoming和Outgoing模式时,同步(Synchronize)视图下列出所有需要更新(Update)或提交(Commit)的资源文件。

Conflicts模式时,同步(Synchronize)视图下列出所有发生并发文件修改冲突的资源文件。可以通过合并(Merge)操作来消除对同一文件不同开发人员并行修改所带来的冲突。

注意,现在我们仅仅是在CVS 资源库里增加了一个模块,项目的所有资源文件并没有被加到CVS资源库里。因为在一个项目中可能有相当一部分资源文件不适合存储到CVS资源库中记录版本 信息,比如编辑器生成的临时文件,编译生成的.class文件,或者某些编译过程生成的二进制文件等等。因此,Eclipse并不自动把所有文件存储到数 据库中,需要开发者手工指定把那些文件存储到CVS资源库里。

这时的同步视图上工具条的图标标明了同步(Synchronize)视图现在处于Outgoing模式。现在Synchronize窗口里列出了项目中尚未加入到CVS资源库的所有资源文件。

把文件存储到CVS资源库里中,需要二步。

第一步,我们需要通知CVS资源库那些文件将在其中记录其版本信息。
我们可以在资源视图(Resource Perspective)或者Java视图(Java Perspective)或者同步(Synchronize)视图中,同时选择多个文件或者目录,使用右键,选择Team->Add to version control,这时你会发现在同步(Synchronize)视图中这些文件或目录上的灰色箭头标记不见了。注意这些文件并没有在CVS资源库中记录其 版本信息,只是通知CVS资源库。

第二步,我们需要执行提交(Commit)操作。
我们可以在资源视图(Resource Perspective)或者Java视图(Java Perspective)中,同时选择多个文件或者目录,使用右键,选择Team->Commit,或者在同步(Synchronize)视图中, 同时选择多个文件或者目录,使用右键,选择Commit。

提交时都会提示你输入注释,作为提交的说明和提示。例如,第一次提交时我们可以输入“项目建立”。

 

如果你提交时选择的文件或目录有些没有经过第一步的Add to version control,Eclipse将要求你选择那些文件或目录将要被Add to version control。

在此之后,每当完成对文件或者项目的修改,需要把最新的状态存储到CVS资源库中去,就需要执行提交(Commit)操作。注意,每次提交时都会提示输入注释,这是很重要的,作为每一个状态的说明和提示。

我们需要告诉Eclipse那些资源文件被存储到CVS资源库中。
我们可以在资源视图(Resource Perspective)或者Java视图(Java Perspective)或者同步(Synchronize)视图中,选择一个文件或者目录,使用右键,选择Team->Add to .cvsignore,一个对话框将会出现,你可以选择何种命名规则用于匹配被忽略的文件或目录。

 

启用 CVS 资源修饰

当启用时此项,CVS 将用指示资源的 CVS 状态的图标和标号修饰来修饰“工作台”视图中的资源。

 

要启用 CVS 修饰:

1.     从主菜单栏,选择windows->preferences

2.     在对话框中,选择Workbench->Label Decorations。此页面允许启用和禁用“工作台”中不同插件定义的所有修饰。

3.     选择 CVS 框以启用 CVS 修饰。

注意:某些情况下,修饰可能不会立即出现,原因是它们的计算成本很高。在这些情况下,将在后台计算它们。

导出项目

我们也可以通过从选定的CVS资源库分支导入代码来创建新的工作台项目。首先,我们打开CVS资源库浏览视图(CVS Repository Exploring Perspective)。

我们能看到资源库里分支或版本下的CVS模块,一般我们都是导出HEAD分支下的CVS模块进行主开发流开发。

选择您希望导出的分支或版本项目,并从上下文菜单中选择Check Out As。
您可以选择CVS模块导出为一个项目,例如下面,我们把HEAD分支下的NTT模块导出为NTT项目。如果工作台已经存在名称为NTT的项目,则用CVS模块覆盖已有的项目

您也可以选择把CVS模块导出为某一工作台项目的一部分,例如我们把NTT模块导出到Prototype项目下的src目录下。但只有非共享项目或者与所选的远程文件夹共享同一 CVS 资源库的项目中的文件夹才是导出操作的有效目标。另外,如果操作的目标项目是一个非共享项目,Eclipse将把该项目连接至 CVS 资源库(例如,项目将成为共享 CVS 项目),但是将忽略先前存在的任何内容。

CVS 资源库同步

CVS 小组编程环境中,同步资源涉及两个不同的进程:用分支的最新更改更新和把工作台的最新更改提交至分支。

在工作台中进行更改时,资源保存在本地。最后您想要将更改提交至分支,以便其他人可以访问它们。同时,其他人可能已经将更改提交至分支。您将想要用这些更改来更新工作台资源。

原创粉丝点击