Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8608018
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类: 项目管理

2007-08-20 12:36:07

[转自:http://lavasoft.blog.51cto.com/62575/19274]
背景
        这是去年秋天利用工作至于空暇时间写的一篇关于CVS的文章,因为是word格式的文章,发布不方便,今日放上来,希望对所有想了解和学习CVS的朋友有所帮助。
        文章以CVSNT+TortoiseCVS搭建CVS平台的配置过程为主线,详尽介绍了CVS的平台搭建的过程。并以应用为中心,结合Java程序员常用的两种开发工具Eclipse-3.2、IntelliJ IDEA 5.12 介绍了如何在这些IDE中使用CVS。文章中淡化了CVS的命令介绍,原因在于本人认为,命令可以在命令行很方便查看,但看了命令不等于你会用了这些工具。所以不要期待本文能讲解给你多少CVS命令。
        文章分为两大部分:第一部分主要讲述CVS平台的搭建;第二部分主要讲解如何应用搭建好的CVS做开发,文章偏重对Java程序程序的开发,其实别的语言也可以用CVS,都是一样的。
 
目录

目录 1
          第一部分
一、 环境: 1
二、 概述 2
三、 软件安装 2
四、 CVSNT服务器端的配置 2
(一)、仓库配置 2
(二)、服务器配置 6
(三)、兼容性配置 7
(四)、插件配置 8
(五)、高级配置 8
五、 CVS客户端配置 9
(一)、TortoiseCVS客户端的配置 9
(二)、用CVSNT或者TortoiseCVS命令行命令作为客户端软件操作CVS。 14
 
        第二部分
六、 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上的,此软件可以从免费下载最新版本。
         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
        安装完成后,重新启动计算机。
 
四、 CVSNT服务器端的配置
(一)、仓库配置
        1、 打开CVSNT的控制面板,运行开始菜单CVSNT菜单文件夹里的“CVSNT Control Panel”即可。如下图
 
        2、 如上图,确保CVSNT的两个服务启动正常,单击选项卡“Repository configuration”(仓库配置)。CVS仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。在创建CVS仓库之前,我们首先需要新建一个文件夹用于充当仓库。如下图,创建仓库文件夹I:\mycvsdata。
 
        3、 该文件夹最好不要与程序放在一起,以免万一系统崩溃时破坏数据。然后,点击“开始”->“程序”->“CVS for NT”->“configure server”,出现对话框后选择“Repositories”选项卡,就会出现如下对话框
 
        4、 如上图,因为是本地计算机上架设CVS服务器,所以填写127.0.0.1,也可以填写为localhost;然后单击“Add”(添加),添加一个仓库,然后再单击“添加”按钮,浏览刚才新建的仓库文件夹I:\mycvsdata如下图:
  
        5、 如上右图,单击“确定”按钮:
  
        6、 如上右图,单击“OK”按钮,会提示:
 
        7、 如上图,单击“是”,就初始化文件夹作为仓库文件夹了,初始化后,在文件夹里面会生成一个CVSROOT的文件夹,里面有好多的文件和子夹,都是仓库的配置信息。此时仓库配置选项卡如下图:
 
(二)、服务器配置

        1、  单击“Server Settings(服务器配置)”选项卡,
   
        2、 如上图,保持默认选项即可。

(三)、兼容性配置
 
        1、 单击“Compatibility Options(兼容性配置)”选项卡:

 
(四)、插件配置
        1、  单击“Plugins(插件)”选项卡,
 

(五)、高级选项

        1、 单击“Advanced(高级)”选项卡,如下图,保持默认即可。
 
 
        2、 单击“确定”,完成服务器的配置。
 
五、 CVS客户端配置

(一)、TortoiseCVS客户端的配置
        1、 TortoiseCVS是最佳的CVS客户端软件,使用方便。为了演示配置,先建立一个工程文件夹C:\testprjcvs,然后建立一个文本文件test.txt。如图:
 
        2、 添加项目模块,也就是把项目添加到CVS仓库。方法如下,在项目文件夹上点击右键,按下图操作:
 
        3、 点击“创建新模块”后,会弹出,按照
 
        4、 如上图,填写完成后,单击“确认”,项目添加到仓库,并提示:
 
        5、 单击确定,完成添加。察看C:\testprjcvs,发现上面有个绿色标记,说明项目已经成功添加到仓库了。分别看项目文件夹、仓库文件夹如下:
 
 
 
        6、 打开项目文件夹,添加一个文件到仓库,操作过程如下,在
 
        7、 出现提示,因为是文本文件,所以单击确定,完成添加。
 
        8、 添加后,还需要提交操作,才能将文件加入到CVS,右键单击test.txt的文件,提交,也可以在空白处单击右键,选择提交,提交所有的没有提交的操作。
 
(二)、用CVSNT或者TortoiseCVS命令行命令作为客户端软件操作CVS。

        1、 将CVSNT或者TortoiseCVS安装目录添加到系统变量CVSNT或者TortoiseCVS中
        2、 为了操作方便,可以设置一个环境变量CVSROOT=:pserver:yutian@localhost:2401/mycvsdata,然后从命令行用命令进行登陆,命令如下:
cvs login
然后输入密码
然后就可以通过命令行可以执行cvs的各种操作了。在此不做详细介绍。
        注意:CVSROOT的写法是:
  :pserver:username@hostname(或IP地址):CVS仓库路径
  这个格式是绝对不能错的,否则CVS命令就不能正常执行。

  下面我解释一下上面的字符串的含义:
  1、“pserver” 是最常用的一直CVS远程访问方式;
  2、“username” 是指客户端在服务器上的用户名,也就是我们在上面的“配置CVS帐号”一结中讲到的;
  3、“hostname” 是CVS服务器的主机名,也可以是它的IP地址;
  4、“CVS仓库路径” 是一个CVS仓库所在的目录,用于区分你要访问的是哪个仓库(因为一个CVS服务器上可能有多个不同仓库)。
  例如::pserver:leizhimin@icisserver:/zfvims
 
(第一部分完)
第二部分
 
六、 CVS应用实践
 
(一)、CVSNT+Eclipse的CVS的配置
1、 用Eclipse创建一个项目EclipseCVS,并添加一个测试类,如下图
 
2、 将项目添加到CVS仓库。操作如下图:
 
如上图,单击“共享项目”,弹出设置窗口:
 
按照上图中的填写配置后,单击下一步:
 
如上图,单击“下一步”,
 
如上图,继续单击“完成”后,如图:
 
如上图,单击“完成”,完成项目到仓库的添加,此时Eclipse资源管理器窗口如下:
 
3、 修改CVSTest.java文件,然后提交,看看版本有什么变化:
 
单击“落实”后:
 
 
4、 在Eclipse里将项目从CVS仓库里导入到本地,操作如下图:
 
如上图,选择“导入”:
 
如上图,点选“CVS中的项目”,然后单击“下一步”:
 
如上图,单击“下一步”:
 
如上图,单击“下一步”:
 
如上图,点击“下一步”:
 
如上图,单击“下一步”:
 
如上图,选择“Java项目”,单击“下一步”:
 
如上图,单击“下一步”:
 
如上图,单击“完成”,即完成导入过程。Eclilpse窗口变为:
 
有关Eclipse的CVS操作就介绍到此。
 
 
(二)、CVSNT+IntelliJ IDEA 5.12的CVS的配置
1、 创建一个测试项目IdeaCVS如下图:
 
2、 然后配置版本控制工具CVS,如上图,点击“配置选项”按钮,如下图:
 
3、 如上图,单击“版本控制工具”,如图:
 
4、 如上图,选择CVS,然后单击“OK”。
 
5、 回到Idea窗口,开始导入项目到CVS仓库,如下图:
 
6、 如上图,点击“Import into CVS...(导入到CVS)”后,如图:
 
7、 如上图,单击“Configure...”来配置一个CVS,如下图:
 
8、 如上图单击“+”,添加一个配置,并填写单击“Edit by Field...”后,如下图:
点击OK后:
 
9、 单击“OK”,如下图:
 
10、 如上图,单击下一步后,如图:
 
11、 填写CVS用户的密码后,单击“OK”后如图:
 
12、 如上图,选择要导入的项目EclipseCVS,然后单击Next后,如图:
 
单击“Next”:
 
单击“Next”:
保持默认,单击“Finish”:
 
提示有文件改变,是否重新装载,选择“Yes”,完成项目IdeaCVS项目导入到CVS仓库。
 
13、 修改CVSTest.java
 
提交CSTest.java文件,如下图
 
如上图,点击“Commit File...(提交文件)”,即可完成提交。
 
14、 察看提交的历史记录,右键单击CVSTest.java的标签,如下图操作:
 
如上图操作后:
 
可以看到当前的版本为1.2,说明文件已经提交。
 
15、 通过Idea自带的CVS客户端从仓库下载项目Eclipse的项目EclipseCVS到本地,操作如下图:
 
单击“CVS”,如图:
 
如上图,单击“Next”后,如图:
如上图,单击“Next”后,创建文件夹IdeaCoTest,如图:
 
如上图,单击“OK”后,如图:
 
如上图,单击“Next”后:
 
如上图,单击“Finish”,完成co过程。
接下来,察看剪除的文件夹,验证是否co成功,如下图:
确实EclipseCVS项目存在于新建的文件夹IdeaCoTest目录里,操作完毕
 
16、 有关Idea的CVS操作就暂时介绍到这里。更多的用法还需要你亲自去研究。
总结
1、 CVS是一个版本控制工具,是程序员必须掌握的一个工具,对CVS的使用程度也从侧面反映了一个程序员开发水平。一旦接触了CVS,就离不开它。CVSNT和TortoiseCVS都是免费的功能强大而且使用方便的CVS工具。
2、 CVS配置的还很多,本文旨在让读者能对CVS有个初步认识,并且能在日常的开发中快速的配置并使用CVS。
3、 CVS还有一个重要问题在此没有提到,就是用户管理。这一块比较复杂,不同的CVS服务器管理也有差别,还在进一步研究中。
 
全文完
 
阅读(2504) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~