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

  CVS 是 Concurrent Version System(并行版本系統(tǒng))的縮寫,用于版本管理。在多人團(tuán)隊(duì)開發(fā)中的作用更加明顯。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是建立在在原先 Unix 體系里很成熟的 SCCS 和 RCS 的基礎(chǔ)上,所以CVS多是Linux(UNIX)系統(tǒng)中所使用,本文中服務(wù)器端設(shè)置也是以Linux為例。

  一、CVS服務(wù)器的安裝

  首先確認(rèn)系統(tǒng)中是否安裝CVS服務(wù):
   [root@localhost /]# rpm -qa|grep cvs
cvs-1.11.2-cvshome.7x.1
   如果命令輸出類似于上面的輸出則說明系統(tǒng)已經(jīng)安裝有cvs,否則需要從安裝光盤中安裝cvs的rpm包,或者到http://www.cvshome.org下載。

  1、建立 CVSROOT

  目錄,因?yàn)檫@里涉及到用戶對(duì)CVSROOT里的文件讀寫的權(quán)限問題,所以比較簡(jiǎn)單的方法是建立一個(gè)組,然后再建立一個(gè)屬于該組的帳戶,而且以后有讀寫權(quán)限的用戶都要屬于該組。假設(shè)我們建一個(gè)組叫cvs,用戶名是cvsroot。建組和用戶的命令如下

#groupadd cvs
#adduser cvsroot

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

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

  $chmod 771 . (或者770應(yīng)該也可以)

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

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

  $cvs -d /home/cvsroot init

  4、以root身份登陸,修改 /etc/inetd.conf(使用 xinetd 的系統(tǒng)沒有此文件)和 /etc/services

  如果用的是 inetd 的系統(tǒng),在 /etc/inetd.conf 里加入:
  
   cvsserver  stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvsroot pserver

  說明:上面的行是單獨(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)容如下:

  # default: on
   # description: The cvs server sessions;

  service cvsserver
   {
   socket_type = stream
   wait = no
   user = root
   server = /usr/bin/cvs
   server_args = -f --allow-root=/cvsroot pserver
   log_on_failure += USERID
   only_from = 192.168.0.0/24
   }

  其中only_from是用來限制訪問的,可以根據(jù)實(shí)際情況不要或者修改。修改該文件權(quán)限:

  # chmod 644 cvspserver

  在/etc/services里加入:

  cvsserver 2401/tcp

  說明:cvsserver 是任意的名稱,但是不能和已有的服務(wù)重名,也要和上面修改 /etc/inetd.conf 那行的第一項(xiàng)一致。

  5、添加可以使用 CVS 服務(wù)的用戶到 cvs 組:

  以 root 身份修改 /etc/group,把需要使用 CVS 的用戶名加到 cvs 組里,比如我想讓用戶 laser 和gumpwu 能夠使用 CVS 服務(wù),那么修改以后的 /etc/group 應(yīng)該有下面這樣一行:

  cvs:x:105:laser,gumpwu

  在你的系統(tǒng)上GID可能不是105,沒有關(guān)系。主要是要把laser和gumpwu用逗號(hào)分隔開寫在后一個(gè)冒號(hào)后面。當(dāng)然,象RedHat等分發(fā)版有類似linuxconf這樣的工具的話,用工具做這件事會(huì)更簡(jiǎn)單些。

  6、重起inetd使修改生效:

  #killall -HUP inetd

  如果使用的是 xinetd 的系統(tǒng):

   # /etc/rc.d/init.d/xined restart

然后察看cvs服務(wù)器是否已經(jīng)運(yùn)行:
[root@localhost /]# netstat -lnp|grep 2401
   tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 1041/xinetd
則說明cvs服務(wù)器已經(jīng)運(yùn)行。


   二、管理CVS服務(wù)器

  服務(wù)器可以用了,現(xiàn)在大家關(guān)心的是如何管理服務(wù)器,比如,我想讓一些人有讀和/或?qū)?CVS 倉(cāng)庫(kù)的權(quán)限,但是不想給它系統(tǒng)權(quán)限怎么辦呢?

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