您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
并行版本系統(tǒng)CVS簡(jiǎn)單教程
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/3/24 17:11:33 ] 推薦標(biāo)簽:CVS 系統(tǒng) 配置管理

    CVS 是 Concurrent Version System(并行版本系統(tǒng))的縮寫(xiě),用于版本管理。如果大家曾經(jīng)參與過(guò)多人協(xié)作開(kāi)發(fā)的項(xiàng)目,大家肯定有這樣的痛苦經(jīng)歷:由于多個(gè)人同時(shí)修改同一個(gè)文件,自己辛辛苦苦修改的程序被別人徹底刪除了。另外,如果你的軟件/程序已經(jīng)發(fā)布了三個(gè)版本,而這時(shí)候用戶需要你修改第二個(gè)版本的東西,也許你會(huì)因?yàn)橹槐A袅诵掳姹径纯蘖魈。還有是你對(duì)程序做了一些修改,但是修改很少,你只想給遠(yuǎn)方的同事發(fā)一個(gè)兩個(gè)版本之間的差別文件,這樣可以免于郵箱不夠大,網(wǎng)速太慢之類的問(wèn)題。為了解決類似這樣的問(wèn)題,以及諸如生成補(bǔ)丁文件,歷史版本修改等,一幫黑客(褒義)在原先 Unix 體系里很成熟的 SCCS 和 RCS 的基礎(chǔ)上,開(kāi)發(fā)了 CVS.(SCCS:Source Code Control System,RCS:Revision Control System)

    CVS 的基本工作思路是這樣的:在一臺(tái)服務(wù)器上建立一個(gè)倉(cāng)庫(kù),倉(cāng)庫(kù)里可以存放許多不同項(xiàng)目的源程序。由倉(cāng)庫(kù)管理員統(tǒng)一管理這些源程序。這樣,好象只有一個(gè)人在修改文件一樣。避免了沖突。每個(gè)用戶在使用倉(cāng)庫(kù)之前,首先要把倉(cāng)庫(kù)里的項(xiàng)目文件下載到本地。用戶做的任何修改首先都是在本地進(jìn)行,然后用 cvs 命令進(jìn)行提交,由 cvs 倉(cāng)庫(kù)管理員統(tǒng)一修改。這樣可以做到跟蹤文件變化,沖突控制等等。

    由于 CVS 是典型的 C/S 結(jié)構(gòu)的軟件,因此它也分成服務(wù)器端和客戶端兩部分。不過(guò)大多數(shù) CVS 軟件都把它們合二為一了。

結(jié)合文檔和一些網(wǎng)上資源,我寫(xiě)一點(diǎn)非常簡(jiǎn)單的“速成”的教材.希望對(duì)大家有用.
下面是我的步驟和做法:

前提要求:

root 權(quán)限;
CVS軟件,請(qǐng)找到相關(guān)的rpm,tgz,deb 等包裝上,或者到
http://www.cvshome.org/CVS/Dev/code
下載原程序編譯安裝,這里我不準(zhǔn)備介紹它的安裝,請(qǐng)參考CVS自身的文檔安裝.我使用Slackware的tgz包,安裝的命令是
#installpkg cvs*.tgz
其他包請(qǐng)參考對(duì)應(yīng)包管理工具的命令.
一定的系統(tǒng)資源,要有一定內(nèi)存(32M能工作得很好),要一定的磁盤(pán)空間,看你的項(xiàng)目的大小和多少而定.
架設(shè)CVS服務(wù)器:
建立 CVSROOT 目錄,因?yàn)檫@里涉及到用戶對(duì)CVSROOT里的文件讀寫(xiě)的權(quán)限問(wèn)題,所以比較簡(jiǎn)單的方法是建立一個(gè)組,然后再建立一個(gè)屬于該組的帳戶,而且以后有讀寫(xiě)權(quán)限的用戶都要屬于該組.假設(shè)我們建一個(gè)組叫cvs,用戶名是cvsroot.建組和用戶的命令如下
 

#groupadd cvs
#adduser cvsroot
 

生成的用戶家目錄在/home/cvsroot(根據(jù)自己的系統(tǒng)調(diào)整)
 

用 cvsroot 用戶登陸,修改 /home/cvsroot (CVSROOT)的權(quán)限,賦與同組人有讀寫(xiě)的權(quán)限:
 

$chmod 771 . (或者770應(yīng)該也可以)
注意:這一部分工作是按照文檔說(shuō)明做的,是否一定需要這樣沒(méi)有試驗(yàn),我會(huì)在做試驗(yàn)后在以后版本的教程說(shuō)得仔細(xì)一點(diǎn).如果您有這方面的經(jīng)驗(yàn)請(qǐng)?zhí)峁┙o我,謝謝.
 

建立CVS倉(cāng)庫(kù),(仍然是 cvsroot 用戶),用下面命令:
 

$cvs    -d /home/cvsroot init
 

以root身份登陸,修改 /etc/inetd.conf(使用 xinetd 的系統(tǒng)沒(méi)有此文件)和 /etc/services,
如果用的是 inetd 的系統(tǒng),在 /etc/inetd.conf 里加入:
cvsserver    stream    tcp    nowait    root    /usr/bin/cvs    cvs -f  --allow-root=/home/cvsroot pserver

說(shuō)明:上面的行是單獨(dú)一整行,/usr/bin/cvs 應(yīng)該是你的cvs版本的命令路徑,請(qǐng)根據(jù)自己的系統(tǒng)調(diào)整./home/cvsroot 是你建立的CVSROOT的路徑,也請(qǐng)根據(jù)上面建立目錄的部分的內(nèi)容做調(diào)整.

如果是使用 xinetd 的系統(tǒng),需要在 /etc/xinetd.d/ 目錄下創(chuàng)建文件 cvspserver(此名字可以自己定義),內(nèi)容如下:

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