1. RCS的使用
RCS(Revision Control System)即程序改版控制系統(tǒng),主要功能是用來管理文件的版本,可以節(jié)省空間和時(shí)間。這樣不需要在每個(gè)程序開發(fā)到某一個(gè)階段將數(shù)據(jù)拷貝到其他的地方備份起來了。
RCS提供了如下幾個(gè)重要的指令:
Ø ci指令:將文件放入RCS目錄下的控制系統(tǒng)
Ø co指令:從RCS目錄下將文件取出
Ø rcs指令:用來對(duì)RCS文件進(jìn)行參數(shù)的設(shè)置
1.基本操作方式
一般而言,RCS所產(chǎn)生出來的文件會(huì)放在RCS目錄中。所以第一步必須要在當(dāng)前的目錄下制作一個(gè)文件:
[root@wyh linux]# mkdir RCS
接下來只要使用ci指令?梢园盐募䝼浞莸絉CS改版控制系統(tǒng)中:
[root@wyh linux]# ci test.c
若要將文件取出,可以使用下列指令:
[root@wyh linux]# co test.c
取出來的文件是只讀文件,若要取出可以寫入的工作文件,可以加上-l參數(shù)來鎖定它:
[root@wyh linux]# co -l test.c
此外將文件放入RCS控制系統(tǒng)時(shí),可以使用-l參數(shù)鎖定文件,那么目錄下的文件依然存在:
[root@wyh linux]# ci -l test.c
若要比較當(dāng)前的文件和RCS中新版本的文件,可以使用下列指令:
[root@wyh linux]# rcsdiff test.c
2.指定版本
若不指定版本編號(hào)時(shí),co會(huì)從RCS取得新的版本。如果要以特定的版本號(hào)碼寫入RCS或讀出,可以使用-r參數(shù)選項(xiàng)。
[root@wyh linux]# ci -l -r3.25 test.c
<--以3.25作為版本編號(hào)
[root@wyh linux]# co -l -r1.2 test.c
<--將RCS中1.2版的test.c讀出
此外,rcsdiff也可以用來指定任何一個(gè)版本和當(dāng)前程序代碼進(jìn)行比較。
[root@wyh linux]# rcsdiff -r3.25 test.c
<--取出3.25版與test.c進(jìn)行比較
3.關(guān)鍵詞的使用
在RCS中可以將關(guān)鍵詞變量放入程序代碼中。這些變量經(jīng)過RCS會(huì)變成版本的注解。用戶可以將這些關(guān)鍵詞說明當(dāng)作是程序中的批注。
常用的關(guān)鍵詞如下:
$Author$:將版本放入RCS的用戶名稱。
$Data$:記錄程序代碼放入RCS時(shí)的日期和時(shí)間。
$Header$:記錄文件的標(biāo)頭,包括RCS路徑名稱、版本號(hào)碼、日期、作者等。
$ID$:和$Header$相同,但不包括RCS路徑名稱。
$Locker$:記錄鎖定本版本的用戶名稱。
$Log$:記錄將RCS鎖住的時(shí)間,所輸入的文本語句。
$RCSfiles$:記錄RCS文件名稱。
$Rivision$:指定版本號(hào)碼。
$Source$:RCS文件名稱,包括其路徑。
$State$:使用-s選項(xiàng)所指定的特殊狀態(tài)。
使用關(guān)鍵詞的步驟如下所示:
(1)在程序代碼中加入任一關(guān)鍵詞
[root@wyh linux]#vi test.c
(2)將程序代碼放入RCS版本控制系統(tǒng)
[root@wyh linux]# ci -l test.c
(3)將文件再次取出。在取出的過程中,co會(huì)將每個(gè)關(guān)鍵詞展開成其對(duì)應(yīng)的值
[root@wyh linux]# co -l test.c
[root@wyh linux]# cat test.c
2. CVS的使用
CVS(Concurrent Version System)是個(gè)版本控制系統(tǒng),利用該系統(tǒng)可以記錄源代碼文件的歷史。例如,當(dāng)軟件修改時(shí)會(huì)產(chǎn)生Bug,并且可能在做這次修改后很長時(shí)間不會(huì)發(fā)現(xiàn)這些問題。使用CVS可以容易地回顧老的代碼版本去發(fā)現(xiàn)哪一次的修改導(dǎo)致這些問題。
如果CVS保留每一次的代碼版本,會(huì)浪費(fèi)很多的空間。因此CVS使用一種比較聰明的辦法保存多個(gè)版本在一個(gè)文件中。它僅僅保留版本間的不同內(nèi)容。如果很多人在同一個(gè)項(xiàng)目上工作,則CVS使用讓不同開發(fā)者獨(dú)立工作的方式解決了這個(gè)問題。每一個(gè)開發(fā)者的工作都在他自己的目錄內(nèi),并且CVS將在每個(gè)開發(fā)者的工作完成后進(jìn)行合并工作。
在Linux下,CVS的使用一般是以命令行方式。通常,CVS有兩種使用方式,一是本機(jī)方式,一是遠(yuǎn)程執(zhí)行方式。CVS的命令格式是:
cvs [cvs的選項(xiàng)] cvs的動(dòng)作 [選項(xiàng)]
讀者可以用cvs –H command列出命令command的使用方法。