這里有一篇有關(guān)CVS的使用簡介,是我以前做項目時為
初學者翻譯的,本著“夠用”的原則翻的,還有很多精
華沒有翻出來,但作為一個入門進階是夠了。
CVS 使用簡介
============
CVS 是RCS的前端工具,它是用于多用戶并行開發(fā)的版本控制工具,它的大特點是使用了“copy-modify-merge”機制而不是“lock- modify-unlock”。通過使用CVS生成一個存儲文件的倉庫(repository),存儲在倉庫中的每個目錄叫做模塊(module),在修改時將相應的模塊檢出到工作目錄中(working directory)生成對應的目錄,所有的修改都在工作目錄中完成,修改完成后再提交到倉庫中生成新的版本號,并加以保存。
1. CVS初始化
-------------
(1) 創(chuàng)建CVSROOT根目錄
編輯有關(guān)的環(huán)境變量,加入CVSROOT的定義(比如在 /etc/bashrc 文件中加入下面兩行):
CVSROOT=/usr/local/cvsroot
export CVSROOT
然后在相應位置開始創(chuàng)建CVSROOT
$cd /usr/local/
$mkdir cvsroot
$cvs –d /usr/local/cvsroot init
這時會產(chǎn)生/usr/local/cvsroot/CVSROOT 目錄,這下面放著有關(guān)CVS的配置文件。同時/usr/local/cvsroot/也作為文件倉庫存放所有的文件。
(2) 創(chuàng)建開發(fā)項目
如果從頭開始一個新的項目,需要創(chuàng)建一個單獨的目錄,并把所有要使用的文件做一個有效的組織。而如果在開始使用源文件的目錄之前有了,則只需進入該目錄行了。
$cd /work/tang
$ls cvstest
. .. c/
$cd cvstest
然后,可以輸入源文件目錄:
$cvs import –m “Create Source Dir” cvstest/c tang cvstest
這樣會生成 $CVSROOT/cvstest/c 目錄。 其中 -m 用來指定注釋信息,如果后面在命令行不指定注釋信息,則會啟動缺省編輯器(vi)要求輸入注釋信息。 tang, cvstest分別標識了廠商和發(fā)行標識。
注意,使用import命令會把當前目錄下的所有文件和目錄(包括子目錄)引入到文件倉庫中指定模塊(目錄)下。
2. 命令簡介
-------------
(1) 檢出源文件
cvs checkout [-r rev][-D date][-d dir][-j merg1] [-j merg2] modules
-r 檢出指定版本的模塊
-D 檢出指定日期的模塊
-d 檢出指定目錄而不是模塊
-j 合并當前版本和指定版本
使用下面的命令會檢出剛才生成的模塊,并在當前目錄下生成與文件倉庫中完全一樣的目錄結(jié)構(gòu):
$cvs checkout cvstest/c
對于目錄結(jié)構(gòu)比較復雜的模塊可以在 $CVSROOT/CVSROOT/modules中加以指定:
1) $cvs checkout CVSROOT/modules
2) 在modules文件中加入下面一行:
SOURCE cvstest/c
3) 然后執(zhí)行:
$cvs commit –m “Add SOURCE”
以后可以使用下面的命令在當前路徑下生成 cvstest/c 目錄
$cvs checkout SOURCE
在當前路徑下生成的這個目錄被稱為工作目錄,對源文件的所有修改都應該在這個目錄下完成,而不允許去改動在 文件倉庫中$CVSROOT 目錄下的文件。
(2) 刪除、增加、重命名文件和目錄
cvs add [-k kflags][-m message] files...
-k 指定以后該文件的缺省檢出目錄
-m 對文件的描述
上述命令會加入一個新的文件到文件倉庫里,但直到使用了提交命令它才會真正更新文件倉庫。
cvs remove [options] files
上述命令會從文件倉庫中刪除文件,但也要到提交之后才有作用。
例1:增加文件
$cvs checkout SOURCE
$cd cvstest/c
$touch test.c
$cvs add test.c
$cvs commit –m “add test.c”
例2:刪除文件
$cvs checkout SOURCE
$cd cvstest/c
$rm test.c
$cvs remove test.c
使用 –f 選項能上面兩步合做一步。