1.3 CVS Client端的配置
1.3.1 Unix/Linux環(huán)境下
CVS服務(wù)器正確安裝置后,可以設(shè)置Client端來(lái)操作了。
設(shè)置方法是:將環(huán)境變量增加到.profile/bash_profile中:
export CVSROOT=:pserver: smilings@216.245.143.71:/root/cvsroot
%cvs login 系統(tǒng)將提示輸入CVS口令
口令認(rèn)證通過(guò)后,可以進(jìn)行CVS的操作了。
1.3.2 Windows環(huán)境下
在http://www.wincvs.org下載新wincvs軟件并安裝。
設(shè)置環(huán)境CVSROOT變量:
運(yùn)行wincvs,從界面菜單處,選擇admin --> preference --> General -->設(shè)置CVSROOT為::pserver:a@216.245.143.71:/root/cvsroot
其中的a為用戶的CVS帳號(hào),@后面是CVS服務(wù)器的IP地址。
當(dāng)cvs server的端口不是缺省的2401時(shí),需要在
admin --> preference --> Ports -->設(shè)置For "pserver"(passwd) port為定義的值。
第2章 CVS的基本操作
2.1 Unix/Linux環(huán)境下的操作說(shuō)明
(1) 登錄CVS Server
%cvs login
CVS password: ******
注: 如果此時(shí)提示.cvspass文件不存在,只要手工創(chuàng)建一個(gè)即可: %touch .cvspass
(2) 查看幫助
% cvs --help
%cvs –help-options
%cvs –help-commands
(3) 檢取源代碼(將CVS服務(wù)器端的源代碼下載到本地。則本地上的內(nèi)容為服務(wù)器端的一個(gè)拷貝)
cvs co [-r tagname/revision] filename|directory
例:%cvs co -r aiobs61_dev products/aiobs/aiip
%cvs co [–D “1 Dec 2002”/2002-12-1/”1 Dec 20:22”] file1
(4) 增加文件或目錄到CVS 庫(kù)中
$ cvs add filename|directory
(5) 提交文件
%cvs ci [-r revision] [ -m”add new functions”] [filename]
增加文件后,需要再執(zhí)行cvs ci命令,才能完成提交。
增加目錄后,則不需要再另外執(zhí)行cvs ci 命令了。
(6) 更新當(dāng)前工作目錄中的文件
%cvs update [-d] [filename]
-d: 取出新增加的目錄 = cvs co
(7) 查看文件歷史記錄
%cvs log [filename]
將給出文件的所有修改記錄,版本信息,修改人, 修改時(shí)間及更改說(shuō)明等。
(8) 比較文件
%cvs diff filename
cvs diff可以用來(lái)比較本地工作目錄和server上的文件,也可以用來(lái)比較文件的兩個(gè)版本之間的差異,實(shí)現(xiàn)的是按行比較。對(duì)二進(jìn)制文件則無(wú)效。
%cvs diff –r aiobs filename
比較本地和另外一個(gè)分支上(分支Tag為aiobs)的文件差異
%cvs diff -D 2002-1-3 -r cbs_rm ora.sql
比較某個(gè)日期與某個(gè)分支下的文件差異
(9) 顯示文件的當(dāng)前狀態(tài)
$cvs status filename
常見三種狀態(tài):Up-to-date, Need-patch, Locally Modified
Up-to-date:表示該文件已經(jīng)與CVS服務(wù)器端的新版本是一致的
Need-patch:表示該文件的本地版本低于服務(wù)器端的新版本,需要從服務(wù)器端下載更新的版本
Locally Modified:表示該文件在本地已經(jīng)做過(guò)修改了,但還沒(méi)有提交到服務(wù)器上
(10) 刪除文件------分三步
%rm filename (先從工作目錄中刪除)
%cvs remove filename (從CVS中刪除)
%cvs commit filename (刪除)
(11) 刪除目錄
首先將目錄中的所有文件從cvs中刪除
% cd ..
% cvs update –p
-p: 告訴update從工作目錄中刪除這些空目錄
即刪除了目錄下的所有文件,則CVS認(rèn)為該目錄已經(jīng)被刪除了
(12) 給產(chǎn)品/模塊打tag
相當(dāng)給產(chǎn)品或者模塊做一個(gè)標(biāo)簽或快照
cvs rtag tagname products/module
或 cvs tag tagname products/module
以上兩個(gè)命令功能相似,區(qū)別在于rtag直接到CVS服務(wù)器端為源代碼加Tag,而使用cvs tag命令則需要事先把源代碼checkout到本地。
(13) 建立分支
cvs rtag –b tagname products/module
或cvs tag –b tagname products/module
建立分支常用于程序bug的跟蹤、修復(fù)。執(zhí)行cvs tag/rtag命令時(shí),如果使用-b參數(shù),則表示該Tag是一個(gè)分支Tag,用戶使用這個(gè)Tag可以對(duì)程序進(jìn)行修改和提交。而如(12)中建立的普通Tag則只能做查詢用。