分类: 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位