本文是写给希望能够马上通过CVS来进行更好的开发管理的小型团队或个人。相信CVS的绝妙之处大家已经从网上的文章中有了一个大概的了解。它的优点我就不在这里进行介绍了。

  我在这里只想说一句:你一但使用了CVS你就会发现你已经离不开它了。

  其实网上介绍CVS的相关文章也不少,而据我观察多数是英文的,多数没有任何图片,而且多数是介绍如何在unix操作系统下安装和配置CVS服务器。这显然不适和一些想尝试改进的小型团队,尤其是学生中间的业余团队。其中一个主要原因是这些团队主要采用的开发环境是微软的windows2000操作系统,如果专门提供一台安装unix操作系统的计算机来作为CVS服务器显然是不现实的。这会给本来好奇的人们产生对CVS的恐惧心理,觉得使用它是那么的困难和繁琐。所以,我构思写这篇文章——介绍如何在windows操作系统下安装和配置CVS服务器,并且加入了尽量多的图片——主要目的是让更多的人敢于尝试,并且能够领略到CVS那激动人心的强大功能。
  好下面让我们话入正题,以下是本文要介绍的主要内容:

  1、服务器端CVSNT的安装;

  2、CVS代码仓库的创建;

  3、配置CVS帐号;

  4、客户端WINCVS的安装与配置;

  5、使用WINCVS进行简单操作(包括commit、checkout等)。
  一、安装CVSNT

  我们知道,CVS是使用“客户端/服务器”(Client/Server)模式来工作的,这也是优秀版本控制系统的发展趋势。那么我们首先要有一台CVS服务器(当然这台电脑也可以同时作为客户端来使用)。本节所要介绍的就是如何利用CVSNT架设一台windows操作系统环境下的CVS服务器。CVSNT顾名思义,肯定是用在windows上的,此软件可以从www.CVSNT.org免费下载最新版本。

  先将它下载下来,然后双击开始安装:



  会出现上面的对话框,这是无关紧要的,所以一路next按下去,直到出现下面的对话框



  这里需要选择“Full installation”,然后点击next,后面会出现以下对话框



  注意这里是需要将两个复选框都选中的。然后就可以高枕无忧,一路安装下来了。

  安装完成了,本节也就结束了,怎么样?还是挺简单的吧。
  二、创建CVS代码仓库(Repository)

  在此我就不对CVS仓库的概念和用途做更多解释了,大家可以参考放飞网文档中心中的其他文章中的介绍。大家只要记住,CVS仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。

  在创建CVS仓库之前,我们首先需要新建一个文件夹用于充当仓库。该文件夹最好不要与程序放在一起,以免万一系统崩溃时破坏数据。然后,点击“开始”->“程序”->“CVS for NT”->“configure server”,出现对话框后选择“Repositories”选项卡,就会出现如下对话框



  点击下方的“add”按钮,会出现让你选择文件夹的对话框,选择我们刚才创建的文件夹,并确定,这时会发现上面所示对话框中央的列表框中发生了改变如下所示



  显示出了我们上面所创建的文件夹的路径。这样一个CVS仓库就创建好了。

  三、配置CVS帐号

  上面我们已经安装了CVSNT,并创建了一个CVS仓库。这时,我们需要给连接到服务器上的每一个客户端创建帐号,以保证他们可以正常地工作。

  最简单的办法是右键单击“我的电脑”,选择“管理”,在“本地用户和组”中右键单击“用户”,选择“新用户”进行帐户的添加。这样是创建了windows的用户,同时也就创建了CVS的帐户。

  四、WINCVS的安装与配置

  上面三节我们已经介绍了服务器端的全部步骤,现在我们已经有一台CVS服务器了,那么为了实现“客户端/服务器”(Client/Server)模式,我们现在还要继续创造一个或多个客户端。

  客户端使用的软件是WINCVS可以在www.WINCVS.org免费下载,它是图形界面的,比较直观,而且功能强大。WINCVS的安装没有什么特别的,和其他软件一样,双击就可以安装了。

  安装完成后,最重要的是对客户端进行配置,目的在于让CVS客户端根据配置信息找到服务器上需要访问的仓库。在WINCVS窗口菜单栏中选择“Admin”->“Preferences”出现如下对话框:



  在“CVSROOT”栏中输入配置字符串,格式如下:

:pserver:username@hostname(或IP地址):CVS仓库路径

  这个格式是绝对不能错的,否则CVS命令就不能正常执行。

  下面我解释一下上面的字符串的含义:

  1、“pserver” 是最常用的一直CVS远程访问方式;

  2、“username” 是指客户端在服务器上的用户名,也就是我们在上面的“配置CVS帐号”一结中讲到的;

  3、“hostname” 是CVS服务器的主机名,也可以是它的IP地址;

  4、“CVS仓库路径” 是一个CVS仓库所在的目录,用于区分你要访问的是哪个仓库(因为一个CVS服务器上可能有多个不同仓库)。

  例如::pserver:njx@frontfree-njx:/master

  配置完毕点击确定即可。到现在为止我们已经将CVS的“客户端/服务器”(Client/Server)模式实现了。为了确定一下上面的步骤都对了,我们要进行检验。最好的检验方法是让CVS客户端登录到服务器。在菜单栏里选择“Admin”->“Login”,会出现如下对话框:



  提示你输入密码。密码就是上面创建的帐号的密码。完成后点击ok,然后注意WINCVS窗口下方的命令结果输出窗口,如果出现下面的信息:

***** CVS exited normally with code 0 *****

  说明登录成功了,如果不是,就说明在做上面的步骤时出现了错误,请仔细检查。如果测试成功我们就开始可以使用CVS的强大功能了。

  注意:

  1、以上步骤同样适用于已经是CVS服务器的那台机器,也就是前面提到的又做服务器又做客户端。

  2、CVS的登录只需要一次成功登录就可以了,不必每次都登录。
  五、WINCVS的简单操作

  不知不觉已经拥有了CVS服务器的你是否很兴奋呢?下面我们就要开始使用CVS了,本文只介绍CVS的简单操作,如果希望深入了解请参考放飞网文档中心的其他文章。

  也许你在兴奋之余会问,第一步应该干什么呢?

  首先,我们要在客户端创建一个文件夹,用于存放工作拷贝(关于工作拷贝的概念请参见放飞文档中心的其他相关文档中的相关介绍),工作拷贝是和上面提到的主拷贝相对应的,主拷贝只有一份,放在CVS仓库里,而工作拷贝却可以有很多份,分别放在不同的客户端。创建完文件夹后,我们将它的路径添加到WINCVS窗口上方的输入框中即可,从现在开始我们所有的工作拷贝都会存放在这个文件夹中,而我们对文件所做的修改也是针对这个文件夹中的文件。

  那么让我们开始一个新的项目,首先在一开始,我们要进行“checkout”过程,这个过程是将主拷贝中的目录及文件拷贝到你指定的客户端目录中。



  右键单击WINCVS窗口中左边的框,在弹出菜单中选择“checkout module”然后会出现如下对话框:



  在第一个输入框中只输入一个“.”,表示仓库中的全要复制一份作为工作拷贝。在第二个输入框中输入你存放工作拷贝的路径,然后点击“确定”即可。(如果今后主拷贝中有了目录的变化,客户端也要进行“checkout”过程才能看到)

  完成这一步之后才能进行其他操作,下面我们来模拟建立一个新的项目,并提交到CVS仓库中。首先,在你的工作目录下新建一个文件夹。再看一下WINCVS,会看到你刚创建的文件夹前面的图标是红色的,这是提示你选中它然后点击WINCVS按钮栏中的那个带加号的按钮,这是在CVS服务器上创建一个这样的目录。同样的如果你新建的是一个文件也是要这样添加。注意目录和文件要分别添加,别以为添加了目录,里面的文件也会被添加。在添加过程中会遇到这样一个对话框:



  这是CVS在提醒你输入记录信息,这会被记录在相应的日志中,便于今后查看。一定要认真填写,因为如果几天后你忘了你这天对文件做了什么,这就是最好的资料。如:Create a new project。之后点击确定就可以了。

  目录的添加到这步就结束了,而文件的添加还需要另外一步,就是文件的“commit”过程,这也适用于文件被修改后,向仓库提交。只要将需要提交的文件选中,然后右键单击,在弹出菜单里选择“commit selection”然后同样输入记录信息,点击确定。

  这时,另外一台客户端机器想看见项目的文件,可以在想获得最新版本的目录上单击右键选择“update selection”,之后就会发现其中的文件变成了最新版本,别人的改动也就一目了然了。

  以上我向大家介绍了在windows环境下架设CVS的方法并粗浅的介绍了WINCVS的基本功能,希望每个曾经因为没有条件而放弃CVS的开发团队或个人,都能用上自己的CVS。到此,本文也就结束了。