============================================
注意:上面的第二個字段(分隔符為 :)是密文口令,從/etc/shadow中拷貝過來即可(此方法適合cvs用戶較少的情況,如果用戶過多,則需要自己用程序生成密碼了)。 編輯 readers 文件,加入下面幾行: anonymous betty 編輯 writer 文件,加入下面幾行: laser gumpwu henry 這樣就 ok 了,你再用幾個用戶分別登陸測試,就會發(fā)現(xiàn)一切都 ok 了。這里面的原理和說明我想就不多說了,其實很簡單,和系統(tǒng)管理用戶的概念是一樣的。 1.5 設置開機自動運行CVS 1) 在/etc/xinetd.d目錄下生成一個文件cvspserver。輸入命令: touch cvspserver vi cvspserver 在cvspserver文件里寫入如下內(nèi)容并保存:
2) 修改該文件權(quán)限: chmod 644 cvspserver 3),到/etc/rc.d/init.d路徑下,運行如下指令重新啟動xinetd即可: ./xinetd restart 4) 重啟后用root登錄,察看cvs服務器是否已經(jīng)運行: netstat -l |grep cvspserver 如果返回tcp 0 0 *:cvspserver *:* LISTEN,則說明cvs服務器已經(jīng)運行。 2、Linux下CVS客戶端的配置 為了連接到 CVS 資源庫,您需要知道稱為 "CVSROOT" 的路徑。CVSROOT 是一個字符串,就象 URL,它告訴 CVS用戶遠程資源庫在哪里,以及如何連接它。不僅如此,根據(jù) CVS 資源庫是本地的還是遠程的,以及連接到它的不同方式,CVS 還有許多不同的 CVSROOT 格式。 2.1 連接CVS服務器 當然你必須擁有cvs用戶賬號和密碼,以及相關(guān)權(quán)限。在Linux環(huán)境下: 1) 本地 CVSROOT export CVSROOT=/usr/local/cvsroot (告訴CVS客戶端,存放代碼的資源庫在什么地方) 一個實際的例子,在版本管理員將代碼庫存放在192.168.0.8 的機器上,路徑為: /usr/local/cvsroot(如果你telnet 到 192.168.0.8 的機器上的時候,此時你就是在本機) 2) 遠程密碼服務器 CVSROOT export CVSROOT=:pserver:piaoyang@192.168.0.8:/usr/local/cvsroot(注意冒號不能漏掉,句子中間沒有空格) pserver 是CVS內(nèi)部的一種傳輸協(xié)議。 piaoyang 是用戶名, 192.168.0.8 機器的IP或名字(如果有DNS才能用名字) /usr/local/cvsroot 是代碼庫的具體路徑 (注意:如果你不想每次敲這么多枯燥的命令,你可以在你登陸的時候讓系統(tǒng)作這些事情,具體的作法是修改你登錄的環(huán)境變量?,F(xiàn)在用piaoyang作為例子,在文件/home/piaoyang/.bash_profile后面加入 export CVSROOT=/home/cvsroot 或export CVSROOT=:pserver:piaoyang@192.168.0.8:/home/cvsroot 并在根目錄下運行:. ./.bash_profile) 2.2 登錄CVS服務器 cvs login (Logging in to cvs@192.168.0.8) CVS password:(在此輸入密碼) 2.3 拷貝相應模塊代碼并進行開發(fā) 如輸入: cvs -z5 checkout VPN 此命令告訴 CVS 客戶端使用 gzip 壓縮級 5 ("-z5") 在慢速連接上加快傳輸速度,來檢出 ("checkout")VPN模塊。 一旦檢出命令完成,將在包含最新源碼的當前工作目錄中看到 "VPN" 目錄。還會注意到每個子目錄下都有一個"CVS"目錄 -- CVS 在這些目錄中存儲帳戶信息,可以放心地忽略它們。一旦檢出結(jié)束,用戶就無需擔心是否設置了 CVSROOT 環(huán)境變量,也無需再在命令行上指定它,因為現(xiàn)在所有額外的 "CVS" 目錄里都有它的緩存。 記?。褐恍枰獮槌跏嫉卿浐蜋z出設置 CVSROOT。至此你就可以在剛才check out的VPN模塊上進行修改或開發(fā)了。(如還有不明之處,請聯(lián)系飄揚,你可以到我的博客(飄揚博客)http://www.給我留言或QQ47720194,我會盡力解答你的問題。) 三、Windows下CVS服務器與客戶端的配置 1、windows下CVS服務器的配置 在此,我們以WinCVS為例來介紹。WinCVS顧名思義,是用在windows上的,它是一款相當不錯的基于Windows的CVS客戶端軟件。安裝時沒有什么特別的地方,與普通的Windows軟件相同,一路next就OK了。(最新的WinCVS可以從http:///project/showfiles.php?group_id=10072地址下載到,也可以在http:///project 上下載到最新的或其它版本的WinCVS。)由于是軟件界面配置,所以針對界面選項填入相應的參數(shù)即可,在此不再贅述。 2、windows下CVS客戶端的配置 同樣我們以WinCVS為例來介紹。安裝這個WinCVS不用再啰嗦一遍了吧,跳過,來看配置過程! 2.1 配置WinCVS 選擇Admin->Preferences…,在出現(xiàn)的界面上進行一般選項的設置: 1) Authentication:用來配置cvs服務器的認證方式,可以從下拉框中選擇其它的認證方式,不過一般只要選擇默認的pserver方式就可以,要注意的是必須與cvs服務器配置時所指定的認證方式一致; 2) Path:用來配置cvs在服務器上的主目錄路徑,也就是服務器上用進行cvs初始化的目錄,如:/home/cvsroot; 3) Host Address:用來配置cvs服務器所在服務器的地址,可以是IP地址,也可以是DNS名,如:10.104.1.204; 4) User name:用來配置要使用些WinCVS來登錄CVS服務器的用戶名,如:cvsyxwu,用戶的登錄必須由管理員把其添加cvs用戶組中; 5) CVSROOT:此項一般都不需要用戶進行修改,用戶在輸入上邊的幾個選項時,系統(tǒng)將自動根據(jù)用戶的輸入生成此項的相應內(nèi)容。 6)在上一個界面上選擇“Globals” ,進行全局選項的設置,此項的配置主要是要注意這幾選項: 第一,Checkout read-only不要選上,否則,checkout出來的源代碼將不允許用戶進行修改,并且此選項默認是選中的; 第二,Prune (remove) empty directories也不要選上,否則,會自動刪除空目錄; 第三,對一般配置沒有特殊要求的,把Dirty files support、Supply control when adding與TCP/IP compression選項選中; 2.2 登錄WinCVS服務器 選擇Admin->login,將出現(xiàn)如下對話框要求用戶輸入登錄口令。輸入口令后,選擇“OK”按鈕,如果CVS服務器與WinCVS的配置都沒出錯的話,將在CVS的狀態(tài)欄中提示: cvs -z9 -d :pserver:cvsyxwu@10.104.1.204:/home/cvsroot login Logging in to :pserver:cvsyxwu@10.104.1.204:2401/home/cvsroot ***** CVS exited normally with code 0 ***** code 0表示正確的登錄;而如果出錯的話,將是code 1,那么要根據(jù)錯誤的提示進行相應的修改。 2.3拷貝相應模塊代碼并進行開發(fā) 1) 在workspace中的Modules選中要存放checkout模塊的目錄; 2) 選擇Create->Checkout Modeles,將出現(xiàn)一個對話框,需要進行選擇。其中,Module name and path on the server就是要存放checkout 內(nèi)容的目錄,由用戶輸入;而Local folder to checkout to就是第一種用戶所選擇的目錄。 3) 至此你就可以在剛才check out的代碼上進行修改或開發(fā)了。 四、結(jié)束語 如果你是通篇讀到這里,那么到這里,你基本上已經(jīng)能為自己或公司配置一個實用的CVS服務器與CVS客戶端了,無論是在Linux下,還是在Windows下。謝謝你的耐心與信任,同時也對你的小有成就小小的祝賀一下。在最后飄揚要申明的是,本教程里的大部分內(nèi)容是由網(wǎng)上多篇介紹CVS的文章提取而來,飄揚只是用自己的邏輯和語言將這些內(nèi)容串聯(lián)起來。在此,飄揚對這些文章的原作者深表感謝。如還有不明之處,請聯(lián)系飄揚,你可以到我的博客(飄揚博客)http://www. 給我留言或QQ47720194,我會盡力解答你的問題。以此拙作,希望能給大家?guī)バ┪⒌膸椭?br> 本文為飄揚原創(chuàng),首發(fā)飄揚博客,http://,作者郵箱piaoyang168#163.com,請尊重版權(quán),轉(zhuǎn)載請保留本行說明。 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1588463 |
|