1.3 CVS Client端的配置
1.3.1 Unix/Linux环境下
CVS服务器正确安装置后,可以设置Client端来操作了。
设置方法是:将环境变量增加到.profile/bash_profile中:
export CVSROOT=:pserver: smilings@216.245.143.71:/root/cvsroot
%cvs login 系统将提示输入CVS口令
口令认证通过后,可以进行CVS的操作了。
1.3.2 Windows环境下
在http://www.wincvs.org下载新wincvs软件并安装。
设置环境CVSROOT变量:
运行wincvs,从界面菜单处,选择admin --> preference --> General -->设置CVSROOT为::pserver:a@216.245.143.71:/root/cvsroot
其中的a为用户的CVS帐号,@后面是CVS服务器的IP地址。
当cvs server的端口不是缺省的2401时,需要在
admin --> preference --> Ports -->设置For "pserver"(passwd) port为定义的值。
第2章 CVS的基本操作
2.1 Unix/Linux环境下的操作说明
(1) 登录CVS Server
%cvs login
CVS password: ******
注: 如果此时提示.cvspass文件不存在,只要手工创建一个即可: %touch .cvspass
(2) 查看帮助
% cvs --help
%cvs –help-options
%cvs –help-commands
(3) 检取源代码(将CVS服务器端的源代码下载到本地。则本地上的内容为服务器端的一个拷贝)
cvs co [-r tagname/revision] filename|directory
例:%cvs co -r aiobs61_dev products/aiobs/aiip
%cvs co [–D “1 Dec 2002”/2002-12-1/”1 Dec 20:22”] file1
(4) 增加文件或目录到CVS 库中
$ cvs add filename|directory
(5) 提交文件
%cvs ci [-r revision] [ -m”add new functions”] [filename]
增加文件后,需要再执行cvs ci命令,才能完成提交。
增加目录后,则不需要再另外执行cvs ci 命令了。
(6) 更新当前工作目录中的文件
%cvs update [-d] [filename]
-d: 取出新增加的目录 = cvs co
(7) 查看文件历史记录
%cvs log [filename]
将给出文件的所有修改记录,版本信息,修改人, 修改时间及更改说明等。
(8) 比较文件
%cvs diff filename
cvs diff可以用来比较本地工作目录和server上的文件,也可以用来比较文件的两个版本之间的差异,实现的是按行比较。对二进制文件则无效。
%cvs diff –r aiobs filename
比较本地和另外一个分支上(分支Tag为aiobs)的文件差异
%cvs diff -D 2002-1-3 -r cbs_rm ora.sql
比较某个日期与某个分支下的文件差异
(9) 显示文件的当前状态
$cvs status filename
常见三种状态:Up-to-date, Need-patch, Locally Modified
Up-to-date:表示该文件已经与CVS服务器端的新版本是一致的
Need-patch:表示该文件的本地版本低于服务器端的新版本,需要从服务器端下载更新的版本
Locally Modified:表示该文件在本地已经做过修改了,但还没有提交到服务器上
(10) 删除文件------分三步
%rm filename (先从工作目录中删除)
%cvs remove filename (从CVS中删除)
%cvs commit filename (删除)
(11) 删除目录
首先将目录中的所有文件从cvs中删除
% cd ..
% cvs update –p
-p: 告诉update从工作目录中删除这些空目录
即删除了目录下的所有文件,则CVS认为该目录已经被删除了
(12) 给产品/模块打tag
相当给产品或者模块做一个标签或快照
cvs rtag tagname products/module
或 cvs tag tagname products/module
以上两个命令功能相似,区别在于rtag直接到CVS服务器端为源代码加Tag,而使用cvs tag命令则需要事先把源代码checkout到本地。
(13) 建立分支
cvs rtag –b tagname products/module
或cvs tag –b tagname products/module
建立分支常用于程序bug的跟踪、修复。执行cvs tag/rtag命令时,如果使用-b参数,则表示该Tag是一个分支Tag,用户使用这个Tag可以对程序进行修改和提交。而如(12)中建立的普通Tag则只能做查询用。