4).多用戶開發(fā)
在多用戶的情況下,如果不同用戶修改的是同一個文件的不同部分,則使用下面的命令能進行版本合并(把檢出的文件與當前的新版本合并):
# cvs update
(1)沖突解決
在有多個用戶對同一個文件進行修改時,如果修改了其中的相同部分,而修改后的內容如果有不同的話,出現(xiàn)沖突是不可避免的。如果在CVS 文件倉庫中有一個文件 test.c ,它的版本是1.4,用戶A 先檢出該文件進行修改,而稍后有用戶B檢出該文件進行修改,并提前提交成 1.5,而在用戶A再提交時會出現(xiàn)沖突(如果文件內容不同的話),這時CVS會提示需要手工解決。
(2)文件版本管理
cvs log [-lR][-r rev][-d date][-w login][files…]
-l 不處理子目錄
-R 對子目錄做同樣處理
-r 指定版本號
-d 指定時間
-w 指定登錄名
使用上面的命令可以參看當前模塊或指定文件的所有歷史版本信息。
cvs annotate [-lR][-r rev|-D date] files
-l 不處理子目錄
-R 對子目錄做同樣處理
-r 指定版本號
使用上面的命令可以參看指定文件(檢出之后)的所有修改信息。
使用下面的命令可以生成相對于一個指定主版本的分支版本:
cvs rtag –b –r rev_root rev_branch file_name
-b 指定生成一個分支版本
-r 指定該分支的主干節(jié)點版本號
rev_root 主干版本號
rev_branch 分支版本號
file_name 指定文件,使用“.”表示當前目錄下所有文件
使用上面的命令可以生成一個對應版本號的分支版本,由于CVS 版本號是用數字表示的,而且在同一個模塊下不同文件的版本完全可能是不同的,所以使用標識會更方便。
例:
# cvs rtag –b –r 1.2 tlb-1 SOURCE
以后要訪問該分支版本,可以使用“-r” 選項
# cvs checkout –r tlb-1 SOURCE
從當前檢出的版本切換到一個分支版本:
# cvs update –r tlb-1 SOURCE
使用下面的命令可以看版本信息:
cvs status [–vlR] files
-v 顯示所有信息
-l 不顯示子目錄信息
-R 顯示子目錄信息
cvs update –j rev module
把當前所做的修改與指定版本的文件進行合并。
如果在不同版本之間模塊的文件有增減,則可以:
# cvs update –A
# cvs updata –jbranch_name
5).在遠程機器上使用CVS
通過網絡使用CVS 有很多種方式,但在這里只介紹比較簡單的一種:通過rsh 執(zhí)行cvs 命令。
1) 在遠程機器的.rhosts中加入對本地機的訪問許可:
tom huang
2) 使用下面的命令檢出模塊
# cvs –d :ext:huang@wyhlinux:/work/cvsroot checkout SOURCE
其中,ext 指明了連接方式為 rsh,huang指明了本地用戶,wyhlinux指明了遠地主機,/work/cvsroot 指明了在遠地主機上的$CVSROOT路徑,可以在本地設置CVS_SERVER環(huán)境變量指明這個目錄。