您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
教你用Linux作CVS服務(wù)器
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/28 13:41:26 ] 推薦標(biāo)簽:

3.CVS 的獲得安裝

CVS 在一般的linux發(fā)行版本中都有默認(rèn)的安裝.如果你的系統(tǒng)沒(méi)有安裝也沒(méi)有關(guān)系,CVS可以在intenet 上很方便的得到. 它的源碼在 ftp://202.113.29.4/pub1/unix/cvs 它的說(shuō)明文檔在ftp://202.113.29.4/doc/cvs.任何人可以很方便的下載.目前他的新版本是2..10.8..

安裝過(guò)程大致如下:

在任一目錄下解開(kāi)下載的壓縮文件.

利用文件包內(nèi)的安裝工具,完成安裝,(內(nèi)有說(shuō)明文檔).

通常是:make config 和 make install

(不通版本的,安裝方法可能不同,具體的請(qǐng)參見(jiàn),它自身所帶的安裝文檔)

4.服務(wù)器的安裝使用

在安裝完CVS 系統(tǒng)后我們便可以開(kāi)始CVS倉(cāng)庫(kù)的安裝. 在linux環(huán)境里,CVS的使用一般是以命令行方式,也有一些GUI的前端工具,如 TKCVS等.這里我們將應(yīng)用CVS 的一般命令即 cvs [cvs的選項(xiàng)] cvs-command [command 選項(xiàng)] 的方式完成服務(wù)器的配置.

4.1 軟件倉(cāng)庫(kù)(repository)的管理

創(chuàng)建CVSROOT根目錄

首先編輯有關(guān)的環(huán)境變量.(CVS的幾個(gè)重要的環(huán)境變量如下:

CVSROOT 倉(cāng)庫(kù)根目錄的完整路徑名

CVSREAD 如果設(shè)置,表明在checkout操作時(shí)所有的文件都置成只讀

CVSBIN CVS利用了很多RCS的命令,指定樂(lè)RCS工具的路徑

CVSEDITOR 指定用戶(hù)書(shū)寫(xiě)日志信息所使用的編輯器

CVS_RSH 啟動(dòng)一個(gè)遠(yuǎn)程CVS服務(wù)器時(shí),所使用的shell的名稱(chēng)

CVS_SERVER 決定"cvs server"的名字,缺省是CVS

CVSWRAPPERS cvswrapper腳本, 用來(lái)指定包裝文件名.)

其中中重要的是CVSROOT,它指明了倉(cāng)庫(kù)所在的位置,在創(chuàng)立新的倉(cāng)庫(kù)時(shí),它是必不可少的.因此一般需要加入環(huán)境變量CVSROOT的定義.如在 /etc/bashrc 文件中加入下面兩行

CVSROOT=/cvsroot

export CVSROOT

或者直接在命令行上執(zhí)行

$ export CVSROOT=/cvsroot

然后在相應(yīng)位置開(kāi)始創(chuàng)建CVSROOT

$mkdir cvsroot

$cvs init

如果沒(méi)有定義變量CVSROOT 會(huì)出現(xiàn)這樣的提示:

cvs init : No CVSROOT specified! Please use the ‘-d’ option

cvs [initn aborted]:or set the CVSROOT environemnt variable

如果你是在不想定義環(huán)境變量,你可以用這樣的命令:

cvs –d /cvroot init 不過(guò)即使你定義了CVSROOT,參數(shù) –d 后的內(nèi)容也會(huì)覆蓋它.如果沒(méi)有錯(cuò)誤提示, 恭喜你, 你的CVS 軟件庫(kù)已經(jīng)建立好了.

剩下的問(wèn)題是怎樣時(shí)多用戶(hù)來(lái)使用這個(gè)倉(cāng)庫(kù)來(lái)進(jìn)行并行的軟件開(kāi)發(fā)與版本控制.還有作為CVS 管理員你應(yīng)該設(shè)置你的用戶(hù)的權(quán)限. 此時(shí),你的cvsroot 下有一CVSROOT 子目錄.他下面的文件時(shí)CVS 的配置文件,用

ls /cvsroot/CVSROOT 有一系列文件,他們的用途分別是:

checkoutlist 支持CVSROOT目錄的其它管理文件,允許為各種CVS命令定置信息

commitinfo 在cvs commit命令執(zhí)行時(shí),這個(gè)文件指定樂(lè)文件提交時(shí)執(zhí)行的命令

cvswrappers 定義樂(lè)一個(gè)包裝程序當(dāng)文件登記或檢取時(shí)會(huì)執(zhí)行.

editinfo 允許你在commit命令啟動(dòng)前在日志信息被記錄后執(zhí)行的腳本

history 跟蹤所有影響倉(cāng)庫(kù)的命令

loginfo 類(lèi)似coimmitinfo, 只是在文件提交后執(zhí)行

modules 允許為一組文件定義一個(gè)符號(hào),否則必須為每一個(gè)要引用的文件指定cvs倉(cāng)庫(kù)的路徑名($CVSROOT)

nitify 控制從"watch"來(lái)的通知."watch"由"cvs watch add"和"cvs edit" 設(shè)置

rcsinfo 為commit log回話(huà)指定一個(gè)模板.

taginfo 定義樂(lè)在任意"tag"操作后執(zhí)行的程序.

Passwd 缺省沒(méi)有.存儲(chǔ)用戶(hù)passworld的文件

設(shè)置管理權(quán)限:

源碼管理員應(yīng)對(duì)倉(cāng)庫(kù)下的文件和目錄設(shè)置恰當(dāng)?shù)脑S可權(quán)限來(lái)控制訪(fǎng)問(wèn). 所有的RCS文件(以,v結(jié)尾)是只讀方式,倉(cāng)庫(kù)中的目錄應(yīng)當(dāng)對(duì)使用者有寫(xiě)權(quán),以便允許其更改.

多個(gè)軟件庫(kù)的建立

如果你有幾個(gè)開(kāi)發(fā)組, 他們的工作毫不此相干,你完全可以建立幾個(gè)不同的軟件庫(kù).你要做的只是要重新定義一下環(huán)境變量CVSROOT,或者,使用-d 來(lái)設(shè)置,使用多個(gè)軟件庫(kù)的好處是,他們可以在不同的sever上,CVS 1.0 版還不能用一條命令來(lái)從不同的軟件庫(kù)中取出文件,在她以后的版本中,你可以將不同SEVER 上的源碼取到你的工作目錄下. 以下是一個(gè)怎樣在多軟件庫(kù)下建立工作目錄的例子:

cvs -d server1:/cvs co dir1

cd dir1

cvs -d server2:/root co sdir

cvs update

第一條命令建立了一個(gè)工作目錄,在sever1上取出了文件第三條命令則在sever2 上的軟件庫(kù)中取出了一些文件.然后用所有的文件使sever2 上的文件升級(jí).

上一頁(yè)12345678下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd