1).开始项目
用CVS管理代码,首先要创建一个“信息仓库”。“信息仓库”简单来说包含一个目录结构。它包括要管理的源代码和用于管理源代码的各种管理文件。
先设置环境变量CVSROOT,指向信息仓库的路径,然后调用CVS的init命令:
# CVSROOT=/usr/local/cvsroot;export CVSROOT
# cvs init
# ls -l $CVSROOT
2).添加项目的文件、目录到信息仓库
要将需要管理的项目的文件加入到信息仓库,并做上标志。如果从头开始一个新的项目,需要创建一个单独的目录,并把所有要使用的文件做一个有效的组织。而如果在开始使用源文件之前该目录已经存在,则只需进入该目录行了。
然后,可以输入源文件目录:
# cvs import -m "Create Source Dir" myproject wu cvstest
这样会生成 $CVSROOT/myproject 目录。 其中-m用来指定注释信息,如果后面在命令行不指定注释信息,则会启动缺省编辑器(vi)要求输入注释信息;myproject是项目名称;wu, cvstest分别标识了作者和发行标识。
3).命令简介
(1)导出源文件
cvs checkout [-r rev][-D date][-d dir][-j merg1] [-j merg2] modules
-r 导出指定版本的模块
-D 导出指定日期的模块
-d 导出指定目录而不是模块
-j 合并当前版本和指定版本
使用下面的命令会导出刚才生成的模块,并在当前目录下生成与文件仓库中完全一样的目录结构:
# cvs checkout myproject
对于目录结构比较复杂的模块可以在 $CVSROOT/CVSROOT/modules中加以指定:
①# cvs checkout CVSROOT/modules
②在modules文件中加入下面一行:
SOURCE myproject
③然后执行:
# cvs commit –m “Add SOURCE”
以后可以使用下面的命令在当前路径下生成myrpoject目录
# cvs checkout SOURCE
在当前路径下生成的这个目录被称为工作目录,对源文件的所有修改都应该在这个目录下完成,而不允许去改动在文件仓库中$CVSROOT 目录下的文件。
(2)删除、增加、重命名文件和目录
cvs add [-k kflags][-m message] files...
-k 指定以后该文件的缺省导出目录
-m 对文件的描述
上述命令会加入一个新的文件到文件仓库里,但直到使用了提交命令它才会真正更新文件仓库。
cvs remove [options] files
上述命令会从文件仓库中删除文件,但也要到提交之后才有作用。
(3)提交源文件
cvs commit [-Rl][-m mesg] files
-R 连子目录一起提交
-l 只提交本地目录(不提交子目录)
-m 注释信息
在导出源文件之后,在工作目录中对源文件进行的所有修改都必须在提交之后才能对文件仓库中的源文件起作用,并且新的文件才能够被分配一个新的版本号。
(4)释放工作目录
cvs release –d SOURCE
这个命令会删除工作目录 myproject(建议在提交了修改的模块后执行这一步),比使用 rm –rf cvstest 要好。