CVS 全称Concurrent Versions System,主要用于管理在开发过程中生成的源代码、文档等资料,记录他们的更新历史,使开发团队各成员可以更好的协作。CVS版本控制系统采用C/S架构,目前CVS server可以支持Linux、windows 2000/xp/2003以及部分unix(如sun的solaris等),CVS client在linux、windows、unix上也有对应的版本。
在eclipse中已经内置了CVS client,eclipse的文档中建议将CVS server安装在linux、unix等操作系统上,不过在我们大多数人的开发中,采用CVS server for windows仍然是最方便快捷的方式,尽管它可能比不上linux、unix版本那样的稳定。
在正式的配置之前你需准备的软件:
1、eclipse http://blog.csdn.net/javamxj/archive/2004/10/11/131952.aspx
目前最新的版本是3.0.1
2、cvs server for windows http://www.cvsnt.com/cvspro/
目前最新的版本是2.0.51d
(注:关于如何在CVSNT 2.0.58d 版本下使用,请参考 http://blog.csdn.net/javamxj/archive/2005/01/05/240726.aspx )
主要内容:
安装与配置cvsnt;
在eclipse中配置CVS client;
创建一个CVS实例;
实践CVS;
1.安装与配置cvsnt
cvsnt直接运行安装程序安装即可。
配置cvs server
1.开始 ->所有程序 ->cvsnt ->Service control panel,出现以下窗口:
(安装后的默认状态是运行的)
2.切换倒repositories页,点击“add”按钮建立一个项目库,在这里我新建一个D:/cvsfile目录,
点击OK,出现一个对话框,点击"是"即可.
3. 切换到Advanced页:选择如下:
一定要将use local users for pserver和pretend to be a unix CVS server这两项选上,前者是要求cvs server采用windows 的本地用户进行权限认证,如果采用域用户权限,那么所有的客户端开发机都必须要登录到windows域才能连接到CVS server,比较麻烦。后者是强制CVS server for windows模拟成unix CVS server,只有这样eclipse才能连接上CVS server for windows!
4.确定后,重新启动CVS service和CVS lock service.
2.在eclipse中配置CVS client
1.运行eclipse 3后,执行下图所示的功能:
或者,打开"窗口"菜单->"打开透视图"->"CVS资源库研究"
2.在"CVS资源库"窗口的空白处点击右键,选择"新建"->"资源库位置"
3.如下配置CVS资源库
主机: cvs服务器的主机名,也可以是它的IP地址,因为是本地主机,所以填写"localhost"
资源库路径: 在上一节"安装与配置cvsnt" 步骤2 "切换倒repositories页" 中的"Name"项;
在此例中就是"/cvsfile"。
现? "控制面板"->"用户帐户":选择已经存在的一个用户名和密码填入,或者创建一个新帐户。
还可以右击“我的电脑”图标->管理->计算机管理->本地用户和组->用户:创建一个新的帐户,如此例中我创建了一个“mmm”的帐户。
连接类型: 选择“pserver” 是最常用的一直cvs远程访问方式 。
4. 完成配置后窗口如下。
3.创建一个CVS实例
1.先在eclipse中建立一个新的项目“Hello World CVS”,再建立一个“HelloWorld”类(注1),只是简单地输出语句“HelloWorld!”。
2.把这个本地项目共享到repository里。打开java视图,选中这个项目,右键单击->小组->共享项目:
出现提示窗口后,一路按“Next”即可,直至出现一个“添加至CVS版本控制”的对话框,点击“详细信息”,可以选择哪些资源添加到CVS资源库,这里没有选择“/Hello World CVS/bin”目录(它不是源代码),然后点击“是”即可。
出现“提交”对话框,可以选择不添加注释,但最好是添加。(注意,每次提交时都会提示输入注释,这是很重要的,作为每一个状态的说明和提示。)
完成后commit所有本地文件,然后你就可以使用CVS强大的版本控制功能了。
注1:刚开始时我给“HelloWorld”类用的包名是“cvs.test”,后来共享项目时出现问题,出在cvs这个词上,把包名改为“cvs1.test”后问题消失。原因是采用“cvs.test”包名时会就建立一个cvs目录,而共享到repository时也要创建cvs目录,结果目录名冲突。所以包名不要单独用cvs这个词。
相关文章 commend read
在eclipse 中如何连接CVS server for windows
windows环境CVS client使用入
CVS+WINCVS配置管理应用指南-Chapter one:服务器端的安装和配置
CVS+WINCVS配置管理应用指南-Chapter two:服务器上的用户和文件配置
IBM Rational 的变更管理 —— 第 2 部分:增强 IBM Rational 变更管理解决方案
第三代配置管理解决方案: 统一变更管理(UCM)
在UCM中使用复合基线的最佳实践
关于UCM(统一变更管理)的体会
项目开发的管理助手--ClearQuest
项目管理过程之变更控制
如何规划一个UCM工程
统一变更管理的威力
统一变更管理的力量
敏捷软件配置管理与 IBM Rational 工具集
自动化通过 UCM 管理的 Web 应用程序的构建/部署过程
今天查了一上午的资料,。但是他们说的都稀里糊涂。而且有的贴图还是显示不出来,搞不清楚是什么意思 去IBM上看。很好一篇文章,。贴过来
原文:http://www.ibm.com/developerworks/cn/opensource/os-cvs/
本文以下的内容都基于WINDOWS XP+CVSNT+ECLIPSE。整个实验环境包括两台以WINDOWS XP2为操作系统的计算机,其中一台名为"chjnb"的计算机既作为CVS服务器又安装了ECLIPSE作为客户端,而另一台只安装了ECLIPSE。CVSNT与ECLIPSE都采用了本文写作时的最新版本,分别是CVSNT2.5.03.2151和ECLIPSE3.1.1。ECLIPSE3.1.1可以和CVSNT2.0.58b以上版本很好的协同工作(见参考资料3)。
CVSNT最初起源于CVS,也是一个开放源码产品,具有跨平台的能力,可以运行在多种操作系统之上。WINDOWS版的CVSNT在安装和使用上都比较方便,对WINDOWS用户而言具有很强的亲和力。WINDOWS版的CVSNT经过多年的发展,其功能与稳定性得到不断的加强,完全可以胜任实际工作中的版本管理任务。而且相对于CVS而言,CVSNT还扩展了不少功能。CVSNT与CVS的比较请参看参考资料4。
3.2.1 安装CVSNT
CVSNT可以从以下地址获得http://www.march-hare.com/cvspro/。在WINDOWS系统上CVSNT有安装程序cvsnt-2.5.03.2151.msi(随版本的不同文件名也不同)。一般采取缺省安装方式安装后,CVSNT即可正常工作,如果想控制安装过程,则可以选择定制安装方式。例如在图1、图2中修改了安装目录。
图1:选择CVSNT的安装类型
图2:修改CVSNT的安装目录,选择CVSNT的可安装组件
安装完成后可以通过菜单操作【开始】→【CVSNT】→【CVSNT Control Panel】或控制面板打开CVSNT的控制管理台。为了使用CVSNT进行版本管理,首先必须建立一个资源库。在CVSNT的控制管理台中选择"Configuration Repository"面板并单击"Add",出现如图3所示的画面。
在Location中填入资源库的位置,在Description中填写该资源库的说明信息(可以为空)。值得注意的是当Location包含多级目录时,Name输入框中的缺省值不对,需要修改,例如可以使用最后一级目录名,如图3。最后点击"OK"按钮,在随后出现的询问是否初始化资源库的确认对话框中选择"Yes"即可。
3.2.2 Windows防火墙
如果在安装有CVS服务器的计算机上使用的是WINDOWS XP2操作系统,并且WINDOWS XP2自带的Windows防火墙处于启用状态,则不能从其它计算机连接CVS服务器。读者可以暂时关闭Windows防火墙或者将CVSNT服务的端口号(2401)添加到Windows防火墙的例外中,其设置步骤如下:
1.从WINDOWS操作系统的控制面板中双击"Windows防火墙"的图标,出现如图7所示的画面。
2.在图7中单击"添加端口"按钮,请按图8将CVSNT的服务端口加入防火墙的例外列表。
3.在图8中按"确定"按钮就把CVSNT的服务端口加入防火墙的例外列表,见图9。
如果使用了其他的防火墙产品,也应进行相应的设置。
3.2.3 建立CVS用户
为了在我们的实验环境中模拟多个用户,还需要在CVS服务器中建立至少两个CVS用户。由于CVSNT安装后采用混合认证方式工作,CVS服务器的系统用户和在CVS本身管理的用户文件中定义的用户都能使用CVSNT服务。为了简便,本文建立了两个系统用户。在WINDOWS XP中可以通过计算机管理这一工具追加系统用户,如图6所示。除了管理员帐号jiangch(我将管理员Administrator重命名为jiangch),还添加了一个帐户cvsuser2。
现在可以在另一台计算机的ECLIPSE中,以cvsuser2为用户名建立与CVSNT服务器的连接。至此,我们就建立了一个完整的实验环境。本文的实验环境用了两台计算机,如果计算机的内存够大,也可以在一台计算机上建立一个完整的实验环境。
ECLIPSE可以从http://www.ECLIPSE.org/download下载。ECLIPSE无需安装,在已安装JRE或JDK1.4.2或以上版本的计算机上,只要将下载的文件解压后即可运行。为了能在ECLIPSE使用CVS,需要建立ECLIPSE与CVS服务器的连接。其操作步骤如下:
1.打开CVS Repository视图(Perspective),可以通过如下菜单操作实现:【Window】→【Open Perspective】→【Other...】。在出现的对话框中选择CVS Repository Exploring。
2.在CVS Repository视图中单击右键,选择【New】→【Repository Location...】(在ECLIPSE中,如果菜单项的后面有省略号,则表示选择该菜单项后,将出现对话框供用户进一步设定相关信息)。出现如图4所示对话框。在对话框中填入适当的信息即可。例如,根据图中的示范信息,将与我们在前面步骤所安装的CVSNT服务器建立连接。需注意的是:在Host输入框中可以输入CVS服务器的名字或IP地址;在连接类型下拉框中选择pserver,这是CVSNT+ECLIPSE最简便的配置方式。
建立连接后,在ECLIPSE的CVS资源库透视图中的结果如图5所示。其中的HEAD表示主分支(主干)、Branches是分支的集合、Versions是标签的集合、Dates是用时间做标签的集合。由于jiangch是管理员帐户,因此还显示了CVSNT的管理文件集合CVSROOT。如果以非管理员帐户连接到CVSNT服务器,则看不到上述CVSROOT。
图5:CVS资源库视图 回页首
在正式的项目开发中,输入模块通常由CVS管理人员或项目经理完成,一般的开发人员不需要进行此项工作。在ECLIPSE中,可以将整个项目作为一个模块导入CVS资源库。这也是实际工作中经常采用的工作方式。我们事先在计算机chjnb的ECLIPSE中建立了一个项目UnitTest,如图10所示。
为了将项目导入CVS资源库:打开ECLIPSE,选择希望导入CVS资源库的项目(project),点击右键,在出现的弹出菜单中依次选择【Team】→【Share Project...】,出现图11。
点击Next按钮,在下一个对话框中选择"use project name as a module name",再点击Next按钮,此时,出现如图12所示的对话框。
有一些文件,我们不想加入CVS资源库。例如图9中的bin目录,里面放的是编译时生成的class文件。此时,可以在上述对话框的bin目录上点击右键,在出现的弹出菜单中选择【Add to cvsignore...】,出现图13。(注:在preference中也可以进行设定)在图13中单击OK按钮。
随后单击图12中的Finish按钮,在接下来的一系列对话框中,选择Yes。随后出现如图14的对话框,在输入框中输入注释,例如:"XXX项目初始化"。 最后单击OK按钮。ECLIPSE将向CVS资源库中导入代码模块。
模块导入成功后, java视图如图15所示。处于CVS管理状态的目录和文件,其图标的右下角有一个小圆柱。由于在前面的操作中,我们将bin目录排除了,因此bin目录显示为通常的图标。在文件的后面,显示了该文件的修订版号,而在目录的后面则没有,这是因为CVS系统版本管理的对象只是文件,而目录不是CVS版本管理的对象。所有文件的初始修订版号均为1.1。输入成功后,整个项目本身也处于签出的状态。
如果想通过其它计算机上的ECLIPSE获得工作拷贝,按2.2的操作成功建立连接后,CVS Repository透视图见图16。在主分支HEAD下的 UnitTest上点击右键,在出现的弹出菜单中选择【Check Out】,这将签出CVS资源库中的模块UnitTest,并在ECLIPSE建立一个名为UnitTest的新Project。签出成功后转到java视图,会看到一个和图15类似的界面。
图16:在CVS资源库中已经存在一个共享项目UnitTest
在菜单中还有一项【Check Out As...】,通过此菜单项,可以对签出进行更细致的控制,例如,可以更改Project名;可以将签出的内容追加到已有Project中。
相关文章: