username是 CVS服务器的用户名,可以根据你的设置修改;
/home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员.
cvs import [-options] repository vendortag releasetag…
Note: 该命令将当前目录下的所有文件(包括子目录)导入源代码储存库。
repository :项目名称,在CVS服务器上会创建以这个名字命名的仓库。
vendortag : 项目分支的总标记。(不常用)
releasetag :标识文件的输入层次的标记。 (一般用start)
$cvs import -m “upload the first time as new module” judecvs v_0_0_1 start
cvs checkout [options] modules…
此命令将源代码储存库中已有的项目导出到当前目录。
modules :项目名称
$cvs checkout judecvs
cvs update [-options] [files...]
此命令比较指定CVS源码库中的文件和当前目录下的文件,如果CVS源码库中有更高版本的源文件,则更新当前目录下的文件。此命令只有在checkout命令使用过后才能使用。
在执行update命令时,CVS并不是简单的将新版本覆盖当前文件,而是试图将新版本所做的修改添加到当前文件中去。如果发生冲突,CVS会以字符串“<<<<<<”和“>>>>>>”来表示冲突发生。这时候你可以修改文件,重新提交。
提示:如果你已经做过一次checkout了,那么不需要重新checkout,只需要进入cvstest项目的目录,更新一把就行了:
$cd judecvs
$cvs update
$cvs status
会给每个文件有一份状态报告,类似这样:
==================================================
File: client.c Status: Up-to-date
Working revision: 1.1.1.1 ‘Some Date’
Repository revision: 1.2 /home2/cvsroot/judecvs/client.c,v
Up-to-date:表明你要到的文件是最新的.
Locally Modified:表明你曾经修改过该文件,但还没有提交,你的版本比仓库里的新.
Needing Patch:表明有人已经修改过该文件并且已经提交了!你的版本比仓库里的旧.
Needs Merge:表明你曾经修改国该文件,但是别人也修改了这个文件,而且还提交给仓库了!
cvs commit [-lnR] [-m 'log_message' | -f file] [-r revision] [files...]
此命令将当前目录下的源代码与CVS中最新版本比较,并进行更新。
[-m ‘log_message‘ ] :输入修改说明。
[-r revision] :指定版本。
[files...] :指定修改文件。
CVS: Enter Log. Lines beginning with `CVS:’ are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: client.c
CVS: ———————————————————————-
a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs
Action: (continue) c
Checking in client.c;
/home2/cvsroot/judecvs/client.c,v <– client.c
new revision: 1.2; previous revision: 1.1
done
cvs [server aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsCEjA9N
此命令并不真正添加文件,只是将文件注册到项目中,要真正添加文件,还要使用commit命令。
cvs server: scheduling file `testadd.c’ for addition on branch `v_0_0_2′
cvs server: use ‘cvs commit’ to add this file permanently
cvs remove [-k kflag] [-m 'message'] files…
和add命令一样,此命令并不真正删除文件,只是将文件从项目中取消,要真正删除文件,还要使用commit命令。
e.g.
$cvs rm testadd.c
cvs server: scheduling `testadd.c’ for removal
cvs server: use ‘cvs commit’ to remove this file permanently