CVS基本概念和工作模式

      一 基本概念 

      CVS是很早的时候在Unix下发展起来的,它使用的术语比较特殊,需要先熟悉和理解,这是使用CVS的第一步。
        Repository: 中文名称:仓库。它是 CVS服务器(可能在远程,也可能在本地)的根目录,我们所有的工作都保存在这个仓库中,包括源代码和这些代码的全部历史。你可以把Repository想像成一个仓库,仓库中有许多“木桶”,每个“木桶”就是我们的一个让CVS管理起来的工程。对于CVS来说,这些“木桶”之间是没有什么关联的,删除一个“木桶”不会影响别的“木桶”。我们所想像的木桶,在CVS术语中,又叫模(Module)。


      Module:中文名称:模块。就是上面我们所想像的仓库中的“木桶”,里面放的是一个项目的所有文件(包括源代码,文档文件,资源文件等等)。在物理上,Module是CVS服务器根目录下的第一级子目录。


     Import:中文名称:导入。我们本地有一个软件项目,里面有许多各种类型的文件,都需要用CVS进行版本管理,那么第一步就是把这个软件项目的整个目录结构都Import到CVS的仓库中去。经过这种导入,CVS将为你的项目创建一个新的“木桶”----Module,即模块。


     Checkout:中文名称:导出。指将仓库中的一个“木桶”(Module, 模块)中的东西导出到本地的工作目录下,然后我们可以在WinCvs的管理下,进行工作,修改其中的内容。


      Commit:中文名称:提交修改。我们在本地的工作目录下,对工程中的文件进行修改,这些修改,需要提交给CVS的仓库,这个过程,就叫Commit。你可以Commit一个文件,也可以Commit整个目录。


     Update:中文名称:同步。它与Commit相对应,是从仓库中的“木桶”(模块)中下载你同事修改过的文件(别忘记你的项目有许多人共同参与),如果这个文件在你本地也有,就会更新本地的拷贝,如果你本地没有,就会把新文件下载到你的本地。
     Revision:中文名称:文件版本。这是CVS中一个需要特别注意的概念,它指的是单个文件的版本,而不是整个项目的版本。基本上,单个文件每次的修改,经过Commit之后,它的Revision都要改变一次,比如从1.1到1.2到1.3等等。特别要注意,单个文件的版本(Revision)与整个工程产品的版本(Version,或者Release)可以没有任何关系。例如,整个产品现在发行1.0版本(Version 1.0)了,但是产品的源代码文件中,有的文件版本(Revision)可能是1.9, 有的是2.1,等等。这很容易理解,因为为了发行产品V1.0,我们需要对源代码进行多次修改编译。


     Release:中文名称:发行版本。整个产品的版本,例如VC5.0, VC6.0等。
     Tag:中文名称:标签。在一个开发的特定期,对一个文件或者多个文件给的符号名,一般是有意义的字符串,如“stable”,“release_1_0”等。比如,我们对某个文件的1.5版本加上标签:“memory_bug_fixed”,借助这个有意义的标签,我们可以理解1.5版本解决了内存Bug,所以说Tag赋予了版本一些文字含义。

   二 WinCvs的两种工作模式

 1..  WinCvs作为远程CVS的客户端
     WinCvs的第一种工作模式是作为远程CVS服务器在本地的客户端使用。CVS由于是在Unix下发展起来的,在   使用的时候,有很多命令行,命令行中又带很多参数,习惯于Windows的读者很难记忆这些命令行和参数。WinCvs提供了用图形界面使用远程CVS服务的直观方法。

在这种工作模式下,第一次使用WinCvs的基本流程如下:
1) 您首先要让CVS管理员给您分配一个用户名和密码,先使用WinCvs登录(Login)到CVS服务器。
2) 把本地需要CVS管理的原始目录导入(Import)到CVS服务器上去,使之成为CVS服务器上仓库(Repository)的一个Module。
3) 在本地硬盘上创建一个工作目录。
4) 从CVS服务器的仓库(Repository)导出(Checkout)一个Module到本地硬盘的工作目录
5) 从CVS服务器同步(Update)你同事的修改到你本地工作目录。在工作目录上进行工作,在这个过程中,把文件的中间版本(Revision)提交(Commit)给CVS服务器。
如果你对上述工作流程中用蓝色字体标出的概念不太理解,建议您再次回到1.1节一开始,那里有对这些概念的详细解释。
当您已经进行过上述流程,以后再使用时,就简化成只需要步骤1)和步骤5)就可以了。

  2   WinCvs作为本地的服务器和客户端
    如果没有远程CVS服务器,WinCvs 1.3版本能够在本地同时作为Server和Client来工作。其中,服务器端的功能是WinCvs启动CVSNT在后台实现的,CVSNT(
www.cvsnt.org)也是一个开源项目,WinCvs1.3版本自带CVSNT,您不用单独安装。在这种工作模式下,你需要在本地硬盘上开设一个CVS仓库目录,它的作用和地位其实就和远程CVS仓库目录一样。


WinCvs工作在这个模式时,当您开始从头工作时,需要下面的工作流程:
1) 首先在本地硬盘上,创建CVS的仓库(Repository)目录。目录名可任意,一般是CVSRoot
2) 把本地需要CVS管理的原始目录导入(Import)到CVS服务器上去,使之成为CVS服务器上仓库(Repository)的一个Module。
3) 在本地硬盘上创建一个工作目录。
4) 从CVS服务器的仓库(Repository)导出(Checkout)一个Module到本地硬盘的工作目录
5) 从CVS服务器同步(Update)你自己从前的修改到你本地工作目录。在工作目录上进行工作,在这个过程中,把文件的中间版本(Revision)提交(Commit)给CVS服务器。
如果你对上述工作流程中用蓝色字体标出的概念不太理解,建议您再次回到1.1节一开始,那里有对这些概念的详细解释。
当您已经进行过上述流程,以后再使用时,就简化成只需要步骤5)就可以了。
无论WinCvs工作在上述哪种模式下,下面是它的工作流程图:
从WinCvs的工作流程图中可以知道,WinCvs的工作涉及三个目录:一是原始目录,我们从这里把文件导入到CVS进行管理,从此以后这个目录下的文件就不再参与WinCvs活动了;二是CVS仓库目录,所有的Module都存放在这里,它可能是远程Linux下由CVS服务器管理员创建的,也可能是你自己在本地硬盘创建的,这决定于你工作在哪种模式下;三是您本地硬盘的工作目录,您在这里对文件进行多次修改和提交。
当我们理解了CVS的基本概念和WinCvs的工作模式,并结合上图理解了WinCvs工作流程之后,就可以开始学习WinCvs工作流程中的每一步如何操作了,这是本教程的主要内容。我们先从WinCvs的界面和配置开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值