您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
CVS使用經(jīng)驗(yàn)談
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/22 14:22:28 ] 推薦標(biāo)簽:

  不難,在 cvs 管理員用戶(在我這里是 cvsroot 用戶)的家目錄里有一個(gè) CVSROOT 目錄,這個(gè)目錄里有三個(gè)配置文件,passwd, readers, writers,我們可以通過(guò)設(shè)置這三個(gè)文件來(lái)配置 CVS 服務(wù)器,下面分別介紹這幾個(gè)文件的作用:

  passwd:cvs 用戶的用戶列表文件,它的格式很象 shadow 文件:

  {cvs 用戶名}:[加密的口令]:[等效系統(tǒng)用戶名]

  如果你希望一個(gè)用戶只是 cvs 用戶,而不是系統(tǒng)用戶,那么你要設(shè)置這個(gè)文件,剛剛安裝完之后這個(gè)文件可能不存在,你需要以 cvs 管理員用戶手工創(chuàng)建,當(dāng)然要按照上面格式,第二個(gè)字段是該用戶的加密口令,是用 crypt (3)加密的,你可以自己寫(xiě)一個(gè)程序來(lái)做加密,也可以用我介紹的偷懶的方法:先創(chuàng)建一個(gè)系統(tǒng)用戶,名字和 cvs 用戶一樣,口令是準(zhǔn)備給它的 cvs 用戶口令,創(chuàng)建完之后從 /etc/shadow 把該用戶第二個(gè)字段拷貝過(guò)來(lái),然后再把這個(gè)用戶刪除。這個(gè)方法對(duì)付數(shù)量少的用戶比較方便,人一多不合適了,而且還有沖突條件(race condition)的安全隱患,還要 root 權(quán)限,實(shí)在不怎么樣。不過(guò)權(quán)益之計(jì)而已。寫(xiě)一個(gè)小程序并不難,可以到 linuxforum 的編程版搜索一下,有個(gè)朋友已經(jīng)寫(xiě)了一個(gè)貼在上面了。

  第三個(gè)字段是等效系統(tǒng)用戶名,實(shí)際上是賦與一個(gè) cvs 用戶一個(gè)等效的系統(tǒng)用戶的權(quán)限,看下面的例子你明白它的功能了。

  readers:有 cvs 讀權(quán)限的用戶列表文件。是一個(gè)一維列表。在這個(gè)文件中的用戶對(duì) cvs只有讀權(quán)限。

  writers:有 cvs 寫(xiě)權(quán)限的用戶的列表文件。和 readers 一樣,是一個(gè)一維列表。在這個(gè)文件中的用戶對(duì) cvs 有寫(xiě)權(quán)限。

  上面三個(gè)文件在缺省安裝的時(shí)候可能都不存在,需要我們自己創(chuàng)建,好吧,現(xiàn)在還是讓我們用一個(gè)例子來(lái)教學(xué)吧。假設(shè)我們有下面幾個(gè)用戶需要使用 cvs:

  laser, gumpwu, henry, betty, anonymous。

  其中 laser 和 gumpwu 是系統(tǒng)用戶,而 henry, betty, anonymous 我們都不想給系統(tǒng)用戶權(quán)限,并且 betty 和 anonymous 都是只讀用戶,而且 anonymous 更是連口令都沒(méi)有。那么好,我們先做一些準(zhǔn)備工作,先創(chuàng)建一個(gè) cvspub 用戶,這個(gè)用戶的責(zé)任是代表所有非系統(tǒng)用戶的 cvs 用戶讀寫(xiě) cvs 倉(cāng)庫(kù)。

  #adduser
   ...

  然后編輯 /etc/group,令 cvspub 用戶在 cvs 組里,同時(shí)把其它有系統(tǒng)用戶權(quán)限的用戶加到 cvs 組里。(見(jiàn)上文)

  然后編輯 cvs 管理員家目錄里 CVSROOT/passwd 文件,加入下面幾行:

  laser:$xxefajfka;faffa33:cvspub
   gumpwu:$ajfaal;323r0ofeeanv:cvspub
   henry:$fajkdpaieje:cvspub
   betty:fjkal;ffjieinfn/:cvspub
   anonymous::cvspub

  注意:上面的第二個(gè)字段(分隔符為 :)是密文口令,你要用程序或者用我的土辦法生成。

  編輯 readers 文件,加入下面幾行:

  anonymous
   betty

  編輯 writers 文件,加入下面幾行:

  laser
   gumpwu
   henry

  注意:writers中的用戶不能在readers中,要不然不能上傳更新文件。


   對(duì)于使用CVS的用戶要修改它的環(huán)境變量,例如laser用戶的環(huán)境變量,打開(kāi)/home/laser(laser的宿主目錄)下的.bash_profile文件,加入

  CVSROOT=/home/cvsroot
   export CVSROOT

  用laser登陸可以建立CVS項(xiàng)目,如果要root使用,可以修改/etc/profile文件。


   現(xiàn)在我們各項(xiàng)都設(shè)置好了,那么怎么用呢,我在這里寫(xiě)一個(gè)簡(jiǎn)單的(估計(jì)也是常用的)命令介紹:

  首先,建立一個(gè)新的CVS項(xiàng)目,一般我們都已經(jīng)有一些項(xiàng)目文件了,這樣我們可以用下面步驟生成一個(gè)新的CVS項(xiàng)目:

  進(jìn)入到你的已有項(xiàng)目的目錄,比如叫 cvstest:

  $cd cvstest
   運(yùn)行命令:
   $cvs import -m "this is a cvstest project" cvstest v_0_0_1 start

  說(shuō)明:import 是cvs的命令之一,表示向cvs倉(cāng)庫(kù)輸入項(xiàng)目文件。 -m參數(shù)后面的字串是描述文本,隨便寫(xiě)些有意義的東西,如果不加 -m 參數(shù),那么cvs會(huì)自動(dòng)運(yùn)行一個(gè)編輯器(一般是vi,但是可以通過(guò)修改環(huán)境變量EDITOR來(lái)改成你喜歡用的編輯器。)讓你輸入信息,cvstest 是項(xiàng)目名稱(chēng)(實(shí)際上是倉(cāng)庫(kù)名,在CVS服務(wù)器上會(huì)存儲(chǔ)在以這個(gè)名字命名的倉(cāng)庫(kù)里。)
v_0_0_1是這個(gè)分支的總標(biāo)記。沒(méi)啥用(或曰不常用。)
start 是每次 import 標(biāo)識(shí)文件的輸入層次的標(biāo)記,沒(méi)啥用。
這樣我們建立了一個(gè)CVS倉(cāng)庫(kù)了。

  建立CVS倉(cāng)庫(kù)的文件夾應(yīng)該是“干凈”的文件夾,即只包括源碼文件和描述的文件加,而不應(yīng)該包括編譯過(guò)的文件代碼等!

  三、使用CVS

  winCVS是一個(gè)很好的CVS客戶端軟件,在http://cnpack.cosoft.org.cn/down/wincvsdailyguide.pdf可以下載到這個(gè)軟件的使用手冊(cè)。這里不在贅述了。

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