分类: LINUX
2007-07-21 14:54:59
示例: cvs checkout pds 注: cvs用户必须首先获得working copy, 然后才能进行 代码维护以及版本控制. 第一次checkout后, 使用 cvs update同步文件.
示例: cvs update 注: 同步所有文件包括子目录. 好习惯:先同步后修改
示例: cvs edit ppmp.c 注: 然后使用emacs或vi进行编辑
示例: cvs commit -m "add pppd killing" ppmp.c 注: -m 注释信息, 如果不指定, 则启动默认编辑器提示输入 注释信息
示例: cvs log ppmp.c
示例: cvs status -v ppmp.c =================================================================== File: ppmp.c Status: Up-to-date Working revision: 1.3 Repository revision: 1.3 /home/cvsroot/pds/ppmp/ppmp.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) Existing Tags: pds (revision: 1.1.1.1) start (revision: 1.1.1.1) PDS_1_0 (branch: 1.1.1) status总共有四种状态: Up-to-date: 表明ppmp.c是最新的. Locally Modified: 表明你曾经修改过ppmp.c,但还没有commit,比仓库里的新. Needing Patch: 表明别人已经修改过ppmp.c并且已commit了!仓库里的旧. Needs Merge: 表明你曾经修改ppmp.c,但是别人也修改了它,而且还提交了!
示例: cvs add session.c 注: 对非文本文件,使用cvs add -kb 然后: cvs commit -m"add session Management" session.c
示例: rm pppd_test.c cvs remove pppd_test.c cvs commit -m"delete pppd test" pppd_test.c
- cvs annotate ppmp.c 注:类似于ECMS的cmspr_ed
- cvs diff -c -u -C 50 -r1.1 -r1.3 ppmp.c 注: 类似于ECMS的inspect
- cvs admin -l PDS_1_0 锁定分支PDS_1_0 - cvs admin -l 锁定主分支 当你锁定某个分支时,别人就不能往该分支上commit code了. -cvs admin -u PDS_1_0 解锁分支
cvs tag PDS_1_0 pds
cvs commit -r 2.0 注:当前所有的文件的版本号必须低于2.0
cvs rtag -b -r PDS_1_0 PDS_1_0_b1 pds
cvs checkout -r PDS_1_0_b1
cvs update -r PDS_1_0_b1 pds
- 在PDS_1_0_b1上fix bug后,标记一修正版本号 cvs tag PDS_1_0_p1
cvs update -j PDS_1_0_b1 cvs commit -m "include pds1.0 bug fix" 注:改命令一定要在2.0的checkout目录里 +-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 2.0 ! <- 主干 +-----+ +-----+ +-----+ +-----+ +-----+ ! * ! * ! +---------+ +---------+ PDS_1_0_b1 -> +---! 1.2.2.1 !----! 1.2.2.2 !<-PDS_1_0_p1 +---------+ +---------+
cvs update -j PDS_1_0_p1 -j PDS_1_0_b1 它的意思是把PDS_1_0_p1(tag)到PDS_1_0_b1(分支)变化了的部分合并2.0中(主干) +-----+ +-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 2.0 ! <- 主干 +-----+ +-----+ +-----+ +-----+ +-----+ ! * ! * ! +---------+ +---------+ +---------+ PDS_1_0_b1 -> +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !<-PDS_1_0_p2 +---------+ +---------+ +---------+
<<<<<<<<<<<printf("bye bye"); =========== printf("hello world"); >>>>>>>>>>> <1.15>
commit=>ci; update=>up; checkout=>co; remove=>rm;
file1 file2 file3 file4 file5 1.1 1.1 1.1 1.1 /--1.1* <-*- TAG 1.2*- 1.2 1.2 -1.2*- 1.3 \- 1.3*- 1.3 / 1.3 1.4 \ 1.4 / 1.4 \-1.5*- 1.5 1.6
CVS每分一次支,版本号增加2位