您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
基于CVS的小組開(kāi)發(fā)環(huán)境搭建
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/13 11:30:01 ] 推薦標(biāo)簽:

CVS的update和commit, VSS是get_lastest_version和check in

對(duì)應(yīng)VSS的check out/undo check out的CVS里是edit和unedit

在CVS中,標(biāo)記自動(dòng)更新功能缺省是打開(kāi)的,這樣也帶來(lái)一個(gè)潛在的問(wèn)題,是不用-kb方式添加binary文件的話在cvs自動(dòng)更新時(shí)可能會(huì)導(dǎo)致文件失效。

Virsual SourceSafe中這個(gè)功能稱之為Keyword Explaination,缺省是關(guān)閉的,需要通過(guò)OPITION打開(kāi),并指定需要進(jìn)行源文件關(guān)鍵詞掃描的類型:*.txt,*.java,*.html...

對(duì)于Virsual SourceSafe和CVS都通用的TAG有:
$Header$
$Author$
$Date$
$Revision$

盡量使用通用的關(guān)鍵詞保證代碼在CVS和VSS都能方便的跟蹤。

WinCVS
======

下載:
cvs Windows客戶端:目前穩(wěn)定版本為1.2
http://www.wincvs.org/
ssh Windows客戶端
http://www.networksimplicity.com/openssh/

安裝好以上2個(gè)軟件以后:
WinCVS客戶端的admin==>preference設(shè)置
1 在general選單里
設(shè)置CVSROOT: username@192.168.0.123:/home/cvsroot
設(shè)置Authorization: 選擇SSH server

2 Port選單里
鉤上:check for alternate rsh name
并設(shè)置ssh.exe的路徑,缺省是裝在 C:Program FilesNetworkSimplicitysshssh.exe

然后可以使用WinCVS進(jìn)行cvs操作了,所有操作都會(huì)跳出命令行窗口要求你輸入服務(wù)器端的認(rèn)證密碼。

當(dāng)然,如果你覺(jué)得這樣很煩的話,還有一個(gè)辦法是生成一個(gè)沒(méi)有密碼的公鑰/私鑰對(duì),并設(shè)置CVS使用基于公鑰/私鑰的SSH認(rèn)證(在general選單里)。

可以選擇的diff工具:examdiff
下載:
http://www.prestosoft.com/examdiff/examdiff.htm
還是在WinCVS菜單admin==>preference的WinCVS選單里
選上:Externel diff program
并設(shè)置diff工具的路徑,比如:C:Program Filesed16iExamDiff.exe
在對(duì)文件進(jìn)行版本diff時(shí),第一次需要將窗口右下角的use externel diff選上。

基于CVS的小組開(kāi)發(fā)環(huán)境搭建
========================

作為一個(gè)小組級(jí)的開(kāi)發(fā)環(huán)境,版本控制系統(tǒng)和BUG跟蹤系統(tǒng)等都涉及到用戶認(rèn)證部分。如何方便的將這些系統(tǒng)集成起來(lái)是一個(gè)非常有趣的事情,畢竟我們不能指望Linux下有像Source Offsite那樣集成度很高的版本控制/BUG跟蹤集成系統(tǒng)。

我個(gè)人是很反對(duì)使用pserver模式的遠(yuǎn)程用戶認(rèn)證的,但如果大部分組員使用WINDOWS客戶端進(jìn)行開(kāi)發(fā)的話,總體來(lái)說(shuō)使用CVSROOT/passwd認(rèn)證還是很難避免的,但CVS用戶的管理比較麻煩。本來(lái)我打算自己用perl寫(xiě)一個(gè)管理界面的,直到我發(fā)現(xiàn)了CVSTrac, 一個(gè)基于WEB界面的BUG跟蹤系統(tǒng),它外掛在CVS系統(tǒng)上,而且包括了WEB界面的CVSROOT/passwd文件的管理,甚至還集成了WIKIWIKI功能。

這里首先說(shuō)一下CVS的pserver模式下的用戶認(rèn)證,CVS的用戶認(rèn)證服務(wù)是基于inetd中的:
cvspserver stream tcp nowait nobody /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
一般在2401端口

CVS用戶數(shù)據(jù)庫(kù)是基于CVSROOT/passwd文件,文件格式:
[username]:[crypt_password]:[mapping_system_user]
由于密碼都用的是UNIX標(biāo)準(zhǔn)的CRYPT加密,這個(gè)passwd文件的格式基本上是apache的htpasswd格式的擴(kuò)展(比APACHE的PASSWD文件多一個(gè)系統(tǒng)用戶映射字段),所以這個(gè)文件簡(jiǎn)單的方法可以用
apache/bin/htpasswd -b myname mypassword
創(chuàng)建。注意:通過(guò)htpasswd創(chuàng)建出來(lái)的文件會(huì)沒(méi)有映射系統(tǒng)用戶的字段
例如:
new:geBvosup/zKl2
setup:aISQuNAAoY3qw
test:hwEpz/BX.rEDU

映射系統(tǒng)用戶的目的在于:你可以創(chuàng)建一個(gè)專門的CVS服務(wù)帳號(hào),比如叫cvs,并將/home/cvsroot目錄下的所有權(quán)限賦予這個(gè)用戶,然后在passwd文件里創(chuàng)建不同的開(kāi)發(fā)用戶帳號(hào),但開(kāi)發(fā)用戶帳號(hào)后的文件讀寫(xiě)權(quán)限都映射為cvs用戶,避免了在SSH模式下多個(gè)開(kāi)發(fā)用戶新建文件后的對(duì)于其他用戶的文件讀寫(xiě)權(quán)限問(wèn)題。

進(jìn)一步的,你可以將用戶分別映射到2組用戶上,利用2個(gè)用戶的權(quán)限設(shè)置,避免2個(gè)項(xiàng)目組的文件互相訪問(wèn)。
new:geBvosup/zKl2:proj1
setup:aISQuNAAoY3qw:proj2
test:hwEpz/BX.rEDU:proj1

CVSTrac很好的解決了CVSROOT/passwd的管理問(wèn)題,而且包含了BUG跟蹤報(bào)告系統(tǒng)和集成WIKIWIKI交流功能等,使用的CGI方式的安裝,并且基于GNU Public License:

安裝過(guò)程

下載:http://www.cvstrac.org解包,復(fù)制成/usr/bin/cvstrac
在已經(jīng)裝好的CVS服務(wù)器上(假設(shè)CVS庫(kù)已經(jīng)使用cvs init初始化過(guò)在/home/cvsroot里),運(yùn)行一下
cvstrac init /home/cvsroot myproj
運(yùn)行后,/home/cvsroot里會(huì)有一個(gè)缺省的myproj.db庫(kù)
在apche/cgi-bin目錄中創(chuàng)建如下腳本cvstrac:
#!/bin/sh
/usr/bin/cvstrac cgi /home/cvsroot
設(shè)置cvstrac可執(zhí)行。
從http://cvs.server.address/cgi-bin/cvstrac/myproj進(jìn)入管理界面,缺省登錄名:setup 密碼 setup
在inetd里加入cvspserver服務(wù):
cvspserver stream tcp nowait nobody /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
注意:這里的用戶設(shè)置成nobody目的是和apache的運(yùn)行用戶一致,并且必須讓這個(gè)這個(gè)用戶對(duì)/home/cvsroot/下的CVSROOT/passwd和cvstrac初始化生成的myproj.db有讀寫(xiě)權(quán)限。
一般用戶還可以從:
http://cvs.server.address/cgi-bin/cvstrac/myproj
修改登錄密碼,記錄BUG報(bào)告等,更多使用細(xì)節(jié)可以在使用中慢慢了解。

對(duì)于前面提到的WinCVS改用passwd file on server side模式登錄可以了。

總結(jié):

利用cvs + (WinCVS/cvsweb/cvstrac),構(gòu)成了一個(gè)相對(duì)完善的跨平臺(tái)工作組開(kāi)發(fā)環(huán)境。

相關(guān)資源:

CVS HOME:
http://www.cvshome.org

CVS FAQ:
http://www.loria.fr/~molli/cvs-index.html

相關(guān)網(wǎng)站:
http://directory.google.com/Top/Computers/Software/Configuration_Management/Tools/Concurrent_Versions_System/

CVS 免費(fèi)書(shū):
http://cvsbook.red-bean.com/

CVS 命令的速查卡片:
http://www.refcards.com/about/cvs.html

WinCVS:
http://www.wincvs.org

CVSTrac: A Web-Based Bug And Patch-Set Tracking System For CVS
http://www.cvstrac.org

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