cvs

cvs是Concurrent Versions System的缩写,Concurrent有并发的,协作的,一致的等含义。CVS是一个版本控制系统,使用它,可以记录下源文件的历史 。

CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS的基本工作思路是这样的:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后用户可以在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统一管理修改。

使用CVS的好处

·修改软件时可能会不知不觉混进一些 bug,而且可能过了很久你才会察觉到它们的存在。有了 cvs,你可以很容易地恢复旧版本,并从中看出到底是哪个修改导致了这个 bug。有时这是很有用的。

·cvs 用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异

·cvs 最初由 Dick Grune 在 1986 年 12 月以 shell 脚本的形式发布在 comp.sources.unix 的新闻组第 6 卷里;1989 年 4 月,Brian Berliner 设计了 cvs 并编写了代码。之后 Jeff Polk 帮助 Brian 设计了 cvs 模块和销售商分支支持。

·cvs 不能指导你如何构造什么。它只是将你所设计的一种树结构文件保存下来以备恢复之用。 

·cvs 不能决定如何在一个检出工作目录使用磁盘空间。如果你在每一个目录中都写下 Makefile 或脚本,且必须知道其它一切的相对位置,有时不得不要检出整个仓库。 

·如果你将你的工作模块化,并且建立了一个共享文件的 build 系统(通过links,mounts,Makefiles 里的 VPATH 等),你就可以随意安排磁盘的使用。

·你应该在 cvs 下放一个工具来支持这样一个构造系统(脚本、Makefile 等等)。 

·有些变化发生在 cvs 范围之外时,要想想什么文件需要重建。一个传统的方法是用 make 来构造,并用一些自动化的工具来产生 make 所用的相关文件。 

·cvs 不能替代管理。 

你的经理和项目负责人应经常与你交流以确保你时时记得进度表、合并点、分支名和发布日期。 如果他们不这样做,cvs 也没用。 cvs 只是一个用来使你的资源与你的步调一致的工具。但你是风笛手和作曲家。没有哪种乐器会自己演奏或是作曲。 

·cvs 不能代替开发者之间的交流。 

在单个文件内遇到冲突时,大多数开发者不费多大力气就能解决它们。但更常见的"冲突(conflict)",是那些难度较大、不在开发者之间进行交流就没法解决的问题。 

当在一个文件内或多个文件中同时发生变化时,cvs 并不知道何时它们会在逻辑上发生冲突。它的冲突(conflict)概念是纯粹文本意义上的,这种冲突会在同一个文件的两种变化十分接近以致于会破坏合并命令(如 diff3)。 

cvs 决不会指出程序逻辑上非文本或分布式的冲突。 例如:假如你改变了在文件 A 中定义的函数 X 的参数。同时,别人在编辑文件 B,仍用旧参数调用 X 这个函数。此时产生的冲突 cvs 可就无能为力了。 

·http://jdeveloper.home.chinaren.com/doc/linux/cvs.html  
   
  CVS 是进行Open Source 开发和管理的一个应用程序。使得程序开发者能够很好的控制  
  软件的颁布,便于开发组间的协调。  
   
  CVS 的安装 (从http://www.cvshome.org获取最新版本的CVS)  
  CVS Server:  
  下载:  
  一般选择安装在 linux上。你可以从 cvshome下载。  
  配置:  
  #groupadd cvs  
  #useradd cvsroot  
  #chmod 777 -R /home/cvsroot  
  在 /etc/inetd.conf 里加入一行:  
  cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvsroot pserver  
  在 /etc/services.conf 里加入一行(可能已存在):  
  cvspserver 2401/tcp # CVS client/server operations  
   
  添加必要的CVS用户到CVS组  
  如:  
  #usermod -g cvs -G cvs hjc  
  或  
  #useradd -g cvs -G cvs hjc  
   
  启动CVS Servr:  
  #killall -HUP inetd  
   
  建立CVS仓库  
  login as cvsroot  
  $cvs -d /home/cvsroot init  

  ............  

CVS是一个版本控制系统.在UNIX中,用它来对在源文件之上的改变进行记录,可以记录版本变换,谁在何时修改了什么.并且能够从它管理的源文件堆里提取出某次修改时的版本来.它不但能够在单机上使用,而且CVS能够许多人一起用协同工作,对同一个工程进行操作.CVS的机制是这样的:CVS保留一份最初源文件的拷贝,这个拷贝称作"repository",大概是"源"的意思,此后,所有源文件的操作都要在CVS的控制之下,不再对最初的源文件进行操作。也就是说,修改者要从CVS控制之下的源文件里checkout一份自己的拷贝,对源文件的修改再通过CVS进行记录下来.CVS的命令和参数很多,但常用的命令也就只有5个(cvs checkout,cvs update,cvs add,cvs rm,cvs commit).



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章