背景
这是去年秋天利用工作至于空暇时间写的一篇关于CVS的文章,因为是word格式的文章,发布不方便,今日放上来,希望对所有想了解和学习CVS的朋友有所帮助。
文章以CVSNT+TortoiseCVS搭建CVS平台的配置过程为主线,详尽介绍了CVS的平台搭建的过程。并以应用为中心,结合Java程序员常用的两种开发工具Eclipse-3.2、IntelliJ IDEA 5.12 介绍了如何在这些IDE中使用CVS。文章中淡化了CVS的命令介绍,原因在于本人认为,命令可以在命令行很方便查看,但看了命令不等于你会用了这些工具。所以不要期待本文能讲解给你多少CVS命令。
文章分为两大部分:第一部分主要讲述CVS平台的搭建;第二部分主要讲解如何应用搭建好的CVS做开发,文章偏重对Java程序程序的开发,其实别的语言也可以用CVS,都是一样的。
文章以CVSNT+TortoiseCVS搭建CVS平台的配置过程为主线,详尽介绍了CVS的平台搭建的过程。并以应用为中心,结合Java程序员常用的两种开发工具Eclipse-3.2、IntelliJ IDEA 5.12 介绍了如何在这些IDE中使用CVS。文章中淡化了CVS的命令介绍,原因在于本人认为,命令可以在命令行很方便查看,但看了命令不等于你会用了这些工具。所以不要期待本文能讲解给你多少CVS命令。
文章分为两大部分:第一部分主要讲述CVS平台的搭建;第二部分主要讲解如何应用搭建好的CVS做开发,文章偏重对Java程序程序的开发,其实别的语言也可以用CVS,都是一样的。
目录
第一部分
一、 环境: 1
二、 概述 2
三、 软件安装 2
四、 CVSNT服务器端的配置 2
(一)、仓库配置 2
(二)、服务器配置 6
(三)、兼容性配置 7
(四)、插件配置 8
一、 环境: 1
二、 概述 2
三、 软件安装 2
四、 CVSNT服务器端的配置 2
(一)、仓库配置 2
(二)、服务器配置 6
(三)、兼容性配置 7
(四)、插件配置 8
(五)、高级配置 8
五、 CVS客户端配置 9
(一)、TortoiseCVS客户端的配置 9
(二)、用CVSNT或者TortoiseCVS命令行命令作为客户端软件操作CVS。 14
五、 CVS客户端配置 9
(一)、TortoiseCVS客户端的配置 9
(二)、用CVSNT或者TortoiseCVS命令行命令作为客户端软件操作CVS。 14
第二部分
六、 CVS应用实践 15
(一)、CVSNT+Eclipse的CVS的配置 15
(二)、CVSNT+IntelliJ IDEA 5.12的CVS的配置 29
总结 43
声明 44
六、 CVS应用实践 15
(一)、CVSNT+Eclipse的CVS的配置 15
(二)、CVSNT+IntelliJ IDEA 5.12的CVS的配置 29
总结 43
声明 44
一、 环境:
Windows XP/2003
CVSNT 2.5.03 (Scorpio) Build 2382
TortoiseCVS 1.8.26
Eclipse 3.2
IntelliJ IDEA 5.12
二、 概述
CVS 是 Concurrent Version System(并行版本系统)的缩写,用于版本管理.如果大家曾经参与过多人协作开发的项目,大家肯定有这样的痛苦经历:由于多个人同时修改同一个文件,自己辛辛苦苦修改的程序被别人彻底删除了.另外,如果你的软件/程序已经发布了三个版本,而这时候用户需要你修改第二个版本的东西,也许你会因为只保留了最新版本而痛哭流涕。还有就是你对程序做了一些修改,但是修改很少,你只想给远方的同事发一个两个版本之间的差别文件,这样可以免于邮箱不够大,网速太慢之类的问题.为了解决类似这样的问题,以及诸如生成补丁文件,历史版本修改等,一帮黑客(褒义)在原先 Unix 体系里很成熟的 SCCS 和 RCS 的基础上,开发了 CVS。(SCCS:Source Code Control System,RCS:Revision Control System)。
我们知道,CVS是使用“客户端/服务器”(Client/Server)模式来工作的,这也是优秀版本控制系统的发展趋势。那么我们首先要有一台CVS服务器(当然这台电脑也可以同时作为客户端来使用)。本节所要介绍的就是如何利用CVSNT架设一台windows操作系统环境下的CVS服务器。CVSNT顾名思义,肯定是用在windows上的,此软件可以从
[url]www.CVSNT.org[/url]
免费下载最新版本。
CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序.这样,就好象只有一个人在修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用 cvs 命令进行提交,由 cvs 仓库管理员统一 修改.这样就可以做到跟踪文件变化,冲突控制等等。
三、 软件安装
1、 目的:用CVSNT作为CVS服务器,用TortoiseCVS作为CVS的客户端。Eclipse3.2和Intellij IDEA 5.12这些开发工具也自带有标准的CVS客户端,这些客户端都是通用的。
2、 软件的安装:
软件的安装很简单,先安装CVSNT,再安装TortoiseCVS。默认安装即可。
在此,安装软件路径分别为:
CVSNT安装到D:\Program Files\cvsnt
TortoiseCVS安装到D:\Program Files\TortoiseCVS
安装完成后,重新启动计算机。
2、 软件的安装:
软件的安装很简单,先安装CVSNT,再安装TortoiseCVS。默认安装即可。
在此,安装软件路径分别为:
CVSNT安装到D:\Program Files\cvsnt
TortoiseCVS安装到D:\Program Files\TortoiseCVS
安装完成后,重新启动计算机。
四、 CVSNT服务器端的配置
(一)、仓库配置
1、 打开CVSNT的控制面板,运行开始菜单CVSNT菜单文件夹里的“CVSNT Control Panel”即可。如下图
![](https://i-blog.csdnimg.cn/blog_migrate/480fd03b76b78841d094781ee1be5e74.png)
2、 如上图,确保CVSNT的两个服务启动正常,单击选项卡“Repository configuration”(仓库配置)。CVS仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。在创建CVS仓库之前,我们首先需要新建一个文件夹用于充当仓库。如下图,创建仓库文件夹I:\mycvsdata。
1、 打开CVSNT的控制面板,运行开始菜单CVSNT菜单文件夹里的“CVSNT Control Panel”即可。如下图
![](https://i-blog.csdnimg.cn/blog_migrate/480fd03b76b78841d094781ee1be5e74.png)
2、 如上图,确保CVSNT的两个服务启动正常,单击选项卡“Repository configuration”(仓库配置)。CVS仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。在创建CVS仓库之前,我们首先需要新建一个文件夹用于充当仓库。如下图,创建仓库文件夹I:\mycvsdata。
![](https://i-blog.csdnimg.cn/blog_migrate/cf4fb9c5beba1b136e64ea377a12def9.png)
3、 该文件夹最好不要与程序放在一起,以免万一系统崩溃时破坏数据。然后,点击“开始”->“程序”->“CVS for NT”->“configure server”,出现对话框后选择“Repositories”选项卡,就会出现如下对话框
![](https://i-blog.csdnimg.cn/blog_migrate/33172c3b9d219c4ba07738e4b78a513c.png)
4、 如上图,因为是本地计算机上架设CVS服务器,所以填写127.0.0.1,也可以填写为localhost;然后单击“Add”(添加),添加一个仓库,然后再单击“添加”按钮,浏览刚才新建的仓库文件夹I:\mycvsdata如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/7d5d51d48ba7403c8aba1b6e1c0e0b80.png)
5、 如上右图,单击“确定”按钮:
![](https://i-blog.csdnimg.cn/blog_migrate/1799f32b2b6cc3c5a53b37dd9894ff90.png)
6、 如上右图,单击“OK”按钮,会提示:
![](https://i-blog.csdnimg.cn/blog_migrate/f50315d78abbe09a0cdca64a160a327c.png)
7、 如上图,单击“是”,就初始化文件夹作为仓库文件夹了,初始化后,在文件夹里面会生成一个CVSROOT的文件夹,里面有好多的文件和子夹,都是仓库的配置信息。此时仓库配置选项卡如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/9d626845ea9b52b55bb47563aecd57ed.png)
(二)、服务器配置
![](https://i-blog.csdnimg.cn/blog_migrate/8d116fbaf9830da3859edff00048e730.png)
2、 如上图,保持默认选项即可。
(三)、兼容性配置
1、 单击“Compatibility Options(兼容性配置)”选项卡:
![](https://i-blog.csdnimg.cn/blog_migrate/9b8db501e3555f03a61f662f740a2673.png)
(四)、插件配置
1、 单击“Plugins(插件)”选项卡,
![](https://i-blog.csdnimg.cn/blog_migrate/be91f64fe38efb23a831d87e902ec4a8.png)
(五)、高级选项
![](https://i-blog.csdnimg.cn/blog_migrate/63db2a95de3a651edb76234c11923abf.png)
2、 单击“确定”,完成服务器的配置。
五、 CVS客户端配置
(一)、TortoiseCVS客户端的配置
1、 TortoiseCVS是最佳的CVS客户端软件,使用方便。为了演示配置,先建立一个工程文件夹C:\testprjcvs,然后建立一个文本文件test.txt。如图:
![](https://i-blog.csdnimg.cn/blog_migrate/e2d15201a1b787f6d7fa5901d05af13e.png)
2、 添加项目模块,也就是把项目添加到CVS仓库。方法如下,在项目文件夹上点击右键,按下图操作:
![](https://i-blog.csdnimg.cn/blog_migrate/8e27c1396b151b33d20a615f61801aca.png)
3、 点击“创建新模块”后,会弹出,按照
![](https://i-blog.csdnimg.cn/blog_migrate/d4cd247ef21f8e163dace8a88629e6f0.png)
4、 如上图,填写完成后,单击“确认”,项目添加到仓库,并提示:
![](https://i-blog.csdnimg.cn/blog_migrate/19a057af75b66099b07e1812b2219a6a.png)
5、 单击确定,完成添加。察看C:\testprjcvs,发现上面有个绿色标记,说明项目已经成功添加到仓库了。分别看项目文件夹、仓库文件夹如下:
![](https://i-blog.csdnimg.cn/blog_migrate/b616b866fec6cdde312c3e3511e094c3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/944ddde36a6c07815ccd5ce9b207d680.png)
6、 打开项目文件夹,添加一个文件到仓库,操作过程如下,在
![](https://i-blog.csdnimg.cn/blog_migrate/9e3f253c77eef77f12bca54f13b7b3a9.png)
7、 出现提示,因为是文本文件,所以单击确定,完成添加。
![](https://i-blog.csdnimg.cn/blog_migrate/a5660a7d461b6d6b0670f3eab027be76.png)
8、 添加后,还需要提交操作,才能将文件加入到CVS,右键单击test.txt的文件,提交,也可以在空白处单击右键,选择提交,提交所有的没有提交的操作。
![](https://i-blog.csdnimg.cn/blog_migrate/c7e0b63e4453328e553a52b608f11737.png)
(二)、用CVSNT或者TortoiseCVS命令行命令作为客户端软件操作CVS。
2、 为了操作方便,可以设置一个环境变量CVSROOT=:pserver:yutian@localhost:2401/mycvsdata,然后从命令行用命令进行登陆,命令如下:
cvs login
然后输入密码
然后就可以通过命令行可以执行cvs的各种操作了。在此不做详细介绍。
注意:CVSROOT的写法是:
:pserver:username@hostname(或IP地址):CVS仓库路径
这个格式是绝对不能错的,否则CVS命令就不能正常执行。
这个格式是绝对不能错的,否则CVS命令就不能正常执行。
下面我解释一下上面的字符串的含义:
1、“pserver” 是最常用的一直CVS远程访问方式;
2、“username” 是指客户端在服务器上的用户名,也就是我们在上面的“配置CVS帐号”一结中讲到的;
3、“hostname” 是CVS服务器的主机名,也可以是它的IP地址;
4、“CVS仓库路径” 是一个CVS仓库所在的目录,用于区分你要访问的是哪个仓库(因为一个CVS服务器上可能有多个不同仓库)。
例如::pserver:leizhimin@icisserver:/zfvims