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
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这个词。 |