CVSNT 教程

来源:百度文库 编辑:神马文学网 时间:2024/04/20 14:31:58
  1.安装与配置CVSNT
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 )
主要内容:
1、安装与配置cvsnt;
2、在eclipse中配置CVS client;
3、创建一个CVS实例;
4、实践CVS;
第一节 安装与配置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
第二节: 在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实例
第三节 创建一个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这个词。
4.实践CVS
第四节 实践CVS
1.提交代码
现在我增加一条输出语句“System.out.println("第一次修改");”,保存。然后选择右侧“包资源管理器”中的HelloWorld.java文件,右击,在弹出菜单中选择“小组”->“提交”。
提交后显示如下,可以看到CVS资源库已经反映了提交后文件的改变。
2.从资源库中更新代码
现在删除掉HelloWorld.java中的语句“System.out.println("第一次修改");”,然后保存。
右击HelloWorld.java文件->替换为->HEAD的最新内容,可以看到删除的代码已经还原了。
或者,右击HelloWorld.java文件->小组->与资源库同步,选择“将当前更改从右边复制到左边”按钮,然后保存,可以看到删除的代码已经还原了。
3. 检出项目
右击“CVS资源库”中的“Hello World CVS”,选择“检出为...”
在“检出为”对话框中的“项目名称”填写:Hello World CVS Two,然后点击“完成”。
这样,这两个项目同时指向一个CVS资源库,就有可能产生提交冲突。
4. 发生冲突
简化一下,把Hello World CVS项目称为项目1,Hello World CVS Two称为项目2。注意当前这两个项目的版本都是1.2。
在项目1中增加一条语句“System.out.println("项目1第1次修改");” ;项目2增加一条
语句“ System.out.println("项目2第1次修改");”。
提交项目1的HelloWorld.java,注意这时版本变成了1.3。
这时提交项目2的HelloWorld.java,会出现一个错误,如下:
这是由于资源库中已经具有该资源的更新修订版(版本是1.3),而版本是1.2的项目2提交时就会发生冲突。
5. 解决冲突
将项目2的工作与资源库资源合并,并以本地方式保存合并的资源。然后可以选择提交此合并的结果。
右击项目2的HelloWorld.java 1.2->小组->更新...   如图:
注意此时项目2的版本已经变成了1.3,更新后冲突已标记出来,你可以选择是否合并资源库中的内容,然后保存,这时项目2可以提交合并后的版本了。提交后,项目2和资源库的版本变成了1.4。
5. 补充一些资料
前段时间我曾写了一篇文章,介绍如何“利用CVSNT在Eclipse 3.0中使用版本控制系统CVS”,链接是
http://blog.csdn.net/javamxj/archive/2004/10/12/132904.aspx  。 当时我使用的CVSNT的版本是2.0.51d,发表不久,CVSNT的版本已经升级了多次,再套用以前的文章,容易出现一些小问题。这里我就简单地补充一些有关在CVSNT 2.0.58d版本下使用的资料(这里主要是介绍一些不同的地方,相同的就略了,还是要参考上面的文章)。
eclipse使用的还是3.0.1版本,当前版本已经是3.1M4了,对于CVS使用基本变化不大。
CVSNT 2.0.58d  http://www.cvsnt.com/cvspro/
安装没有什么可说的,直接安装下去就是。
注意
安装之后,通过 控制面板 ->管理工具 ->服务: 可以看到 CVSNT 和 CVSNT Locking Service 这两个服务的状态都是"已启动",启动类型都是"自动"。如果你不想每次开机都运行这两个程序,可以把启动类型改为“手动”(可以节约点内存)。若要再启动它们,可以通过CVSNT程序组中的“Service control panel”来控制它们。
第一节 安装与配置cvsnt
配置cvs server
1.开始 ->所有程序 ->cvsnt ->Service control panel,出现以下窗口:
(安装后的默认状态是运行的)
2. 切换到Advanced页:这里没有什么要修改的,默认即可。
3.切换倒repositories页,点击“add”按钮建立一个项目库,在这里我新建一个D:/cvsfile目录,
点击OK,会出现一个对话框,点击"是"即可。
第二节: 在eclipse中配置CVS client
这里谈一下配置CVS资源库,其它的步骤与先前文章类似,就不说了。
创建一个帐号:
先前的文章中有一种创建帐号的方法:计算机管理->本地用户和组->用户。现在再用这种方法,发现总是不能很好地配合CVS的连接,所以不再提倡使用这种方法了。 这里介绍通过“用户帐号” 来创建它。
通过 控制面板 ->用户帐号 ->创建一个新帐户:这里我输入的名称是 “javamxj” ;挑选帐户类型选择“受限”(这样可以安全些),然后点击“创建帐号”。 双击“javamxj”帐号,点击“创建密码”,这里我选择的密码是“javamxj”。好了,这样,一个帐号创建了。
主机: cvs服务器的主机名,也可以是它的IP地址,因为是本地主机,所以填写"localhost"
资源库路径: 在上一节"安装与配置cvsnt" 步骤2 "切换倒repositories页" 中的"Name"项;
在此例中就是"/cvsfile"。
认证: 将刚才创建的帐号名和密码填入。
连接类型: 选择“pserver” 是最常用的一直cvs远程访问方式 。
最好勾选“保存密码”,不用再次输入密码。
此外,实践CVS时有一点要注意:
创建工程时,所用的包名不要单独含有cvs这个词,以免造成目录名冲突。
第三节 如何从网络上获取源码
想必大家都知道 EasyStruts for Eclipse 这个插件,它是用来开发Struts的。可是它的版本已经很久没有更新了,它被并入了myEclipse(可惜是要Money的),这个工程算是Down了。如果你还是想使用它的话,要么使用较低版本的Eclipse,要么修改EasyStruts的源码,使它适合较高版本的Eclipse。
下面介绍如何使用CVS获得它的源码。
http://sourceforge.net/projects/easystruts    EasyStruts的主站点。
从上面这个网页上点击“CVS”链接,即http://sourceforge.net/cvs/?group_id=54542
切换到CVS页面。有这么一段话:
Anonymous CVS Access
This project's SourceForge.net CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key. To determine the names of the modules created by this project, you may examine their CVS repository via the providedweb-based CVS repository viewer.
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/easystruts login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/easystruts co modulename
注意上面加粗的一行,主要就根据它来配置CVS。
点击“完成”后,如果网络正常,那么应该能看到以下的图:
选择easystruts-plugin,右击->检出为.......  即可获得它的源码。