您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
CVS知識(shí)、工具整合
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/24 15:11:25 ] 推薦標(biāo)簽:

創(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)后的文件讀寫權(quán)限都映射為cvs用戶,避免了在SSH模式下多個(gè)開(kāi)發(fā)用戶新建文件后的對(duì)于其他用戶的文件讀寫權(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 下載
我用的是已經(jīng)在Linux上編譯好的應(yīng)用程序包:cvstrac-1.1.1.bin.gz,
%gzip -d cvstrac-1.1.1.bin.gz
%chmod +x cvstrac-1.1.1.bin
#mv cvstarc-1.1.1.bin /usr/bin/cvstrac

初始化cvstrac數(shù)據(jù)庫(kù):假設(shè)數(shù)據(jù)庫(kù)名是 myproj
在已經(jīng)裝好的CVS服務(wù)器上(CVS庫(kù)這時(shí)候應(yīng)該已經(jīng)是初始化好了,比如:cvs init初始化在/home/cvsroot里),運(yùn)行一下
%cvstrac init /home/cvsroot myproj
運(yùn)行后,/home/cvsroot里會(huì)有一個(gè)的myproj.db庫(kù),使用CVSTRAC服務(wù), /home/cvsroot/myproj.db /home/cvsroot/CVSROOT/readers /home/cvsroot/CVSROOT/writers /home/cvsroot/CVSROOT/passwd 這幾個(gè)文件對(duì)于web服務(wù)的運(yùn)行用戶應(yīng)該是可寫的,在RedHat8上,缺省有一個(gè)叫apache用戶和一個(gè)apache組,所以我在 httpd.conf文件中設(shè)置了用apache用戶運(yùn)行web服務(wù):
User apache
Group apache,
如果服務(wù)器上apache用的是其他用戶,比如:nobody nogroup運(yùn)行,則后面相應(yīng)的配置中用戶/組都設(shè)置為nobody nogroup
然后我設(shè)置了#chown -R apache:apache /home/cvsroot
-rw-r--r-- 1 apache apache 55296 Jan 5 19:40 myproj.db
drwxrwxr-x 3 apache apache 4096 Oct 24 13:04 CVSROOT/
drwxrwxr-x 2 apache apache 4096 Aug 30 19:47 some_proj/
此外還在/home/cvsroot/CVSROOT中設(shè)置了:
chmod 664 readers writers passwd

在apche/cgi-bin目錄中創(chuàng)建腳本cvstrac:
#!/bin/sh
/usr/bin/cvstrac cgi /home/cvsroot
設(shè)置腳本可執(zhí)行:
chmod +x /home/apache/cgi-bin/cvstrac

從 http://cvs.server.address/cgi-bin/cvstrac/myproj 進(jìn)入管理界面
缺省登錄名:setup 密碼 setup
對(duì)于一般用戶可以從:
http://cvs.server.address/cgi-bin/cvstrac/myproj
修改登錄密碼,進(jìn)行BUG報(bào)告等,
更多使用細(xì)節(jié)可以在使用中慢慢了解。
備注:
在inetd里加入cvspserver服務(wù):
cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver

xietd的配置文件:%cat cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = apache
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}

注意:這里的用戶設(shè)置成apache目的是和/home/cvsroot的所有用戶一致,并且必須讓這個(gè)這個(gè)用戶對(duì)/home/cvsroot/下的CVSROOT/passwd和cvstrac初始化生成的myproj.db有讀取權(quán)限。

對(duì)于前面提到的WinCVS在perference里設(shè)置:
CVSROOT欄輸入:username@ip.address.of.cvs:/home/cvsroot
Authenitication選擇:use 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)書:
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è)12345下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd