您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > cvs
CVS版本控制軟件的安裝配置與使用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/12 14:55:29 ] 推薦標(biāo)簽:

CVS版本控制軟件的安裝配置與使用

(一) 軟件的安裝:
1. 軟件的獲。篊VS是一個(gè)典型的Server/Client端軟件,有UNIX版本的CVS 、Linux版本的CVS,和WINDOWS版本的CVS,在下載的軟件包中已經(jīng)包含了Server端和Client端,但是我們?cè)诠ぷ髦幸话愣际鞘褂肳indows操作系統(tǒng),所以我們可以再下載一個(gè)Windows下CVS的Client端軟件WinCVS。在以下網(wǎng)站可以獲取新版本的CVS。
http://www.cvshome.org
2. 軟件的版本:現(xiàn)在UNIX下新版本的CVS是cvs-1.11.5.tar.gz
            Windows下CVS的Client端軟件WinCVS版本是WinCVS1.3
3. 軟件的安裝:
把你下載的cvs-1.11.5.tar.gz放到UNIX機(jī)器的一個(gè)臨時(shí)目錄中,進(jìn)入到此目錄,
#gunzip  cvs-1.11.5.tar.gz
后得到cvs-1.11.5.tar文件,然后再執(zhí)行:
#tar xvf cvs-1.11.5.tar
后得到一個(gè)cvs-1.11.5的目錄,進(jìn)入到此目錄后執(zhí)行下列命令:
#./configure
#make
#make install
如果在安裝過(guò)程中沒(méi)有錯(cuò)誤信息出現(xiàn),則說(shuō)明你的安裝是成功的,如果有報(bào)錯(cuò)請(qǐng)根據(jù)錯(cuò)誤信息檢查你的系統(tǒng)設(shè)置
Windows下CVS的Client端軟件WinCVS1.3的安裝執(zhí)行源文件中的setup.exe文件,指定安裝的目錄即可。
(二) CVS軟件服務(wù)器端的配置:
1. 我們安裝好此軟件后可以開始配置服務(wù)器了,一般CVS是用Pserver的認(rèn)證方式作為一種服務(wù)在UNIX上運(yùn)行的,
所以先要確定系統(tǒng)里/etc/services文件有CVS服務(wù)的入口,(如果沒(méi)有)在這個(gè)文件中添加一下兩行:
cvspserver   2401/tcp                     # cvs client/server operations
cvspserver   2401/udp                     # cvs client/server operations
2. CVS服務(wù)是通過(guò)xinetd來(lái)啟動(dòng)的,我們需要修改/etc/xinetd.conf文件,添加一條語(yǔ)句
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
由于在較新的Linux發(fā)行版(如:RedHat7.x)中都是用新xinetd代替了inetd,要用xinetd來(lái)啟動(dòng)cvs服務(wù)你需要進(jìn)入到/etc/xinetd.d/目錄,然后編輯一個(gè)文本文件(名字隨意),這里是用cvspserver作為文件名,這個(gè)文件的內(nèi)容如下所示:
service cvspserver
{
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = --allow-root=/cvsroot pserver
}
注意上面的service后面的名稱一定要和你在/etc/service文件中的cvs服務(wù)名稱一樣,在server_args行我們指定了cvs使用pserver認(rèn)證方式,可能容易產(chǎn)生誤解的是env = HOME=這一行,添加這一行的目的是為了解決在執(zhí)行一些cvs操作時(shí)產(chǎn)生的讀取/root/.cvsignore文件的錯(cuò)誤,上面env那行的意思是在運(yùn)行cvs服務(wù)的時(shí)候?qū)h(huán)境變量HOME置空,這樣雖然執(zhí)行cvs的用戶是root,但是由于沒(méi)有了HOME這個(gè)環(huán)境變量,所以cvs不會(huì)在去讀取/root/.cvsignore文件了。

建議使用后者啟動(dòng)cvspserver,不要修改 /etc/xinetd.conf文件,避免沖突


3. 使cvs正常運(yùn)行還需要對(duì)需要使用cvs的用戶進(jìn)行設(shè)置,首先建立一個(gè)用戶組cvs,然后添加一個(gè)用戶cvsroot,修改用戶cvsroot的組屬性,使它成為cvs組成員。
groupadd cvs
useradd -g cvs cvsroot
4. 創(chuàng)建一個(gè)目錄,名稱和路徑任意。此目錄為存放用戶源代碼的目錄,也是用戶的數(shù)據(jù)倉(cāng)庫(kù)(repository),是CVS的核心部位,所以應(yīng)該建立在一個(gè)空間足夠大的分區(qū)比較好。在此我在根目錄下建立了一個(gè)cvsroot的目錄
#mkdir  cvsroot
5. 創(chuàng)建一個(gè)環(huán)境變量CVSROOT,此環(huán)境變量指明了數(shù)據(jù)倉(cāng)庫(kù)所在的位置,如果你使用的shell是csh,那么你應(yīng)該編輯你的根目錄下的.cshrc文件在里面添加以下這條語(yǔ)句
setenv CVSROOT  /cvsroot
注意,路徑要和你作為數(shù)據(jù)倉(cāng)庫(kù)的目錄路徑一樣。
6. 初始化你的數(shù)據(jù)倉(cāng)庫(kù)的目錄
cvs -d /home/cvsroot init
7. 初始化/cvsroot目錄后會(huì)自動(dòng)在/cvsroot目錄下產(chǎn)生一個(gè)CVSROOT的目錄,此目錄下的文件是CVS的配置文件,對(duì)幾個(gè)主要文件的說(shuō)明如下:
checkoutlist 支持CVSROOT目錄的其它管理文件,允許為各種CVS命令定置信息
commitinfo 在cvs commit命令執(zhí)行時(shí),這個(gè)文件指定樂(lè)文件提交時(shí)執(zhí)行的命令
cvswrappers 定義樂(lè)一個(gè)包裝程序當(dāng)文件登記或檢取時(shí)會(huì)執(zhí)行

editinfo 允許你在commit命令啟動(dòng)前在日志信息被記錄后執(zhí)行的腳本
history 跟蹤所有影響倉(cāng)庫(kù)的命令
loginfo 類似coimmitinfo, 只是在文件提交后執(zhí)行
modules 允許為一組文件定義一個(gè)符號(hào),否則必須為每一個(gè)要引用的文件指定cvs倉(cāng)庫(kù)的路徑名($CVSROOT)
nitify 控制從"watch"來(lái)的通知."watch"由"cvs watch add"和"cvs edit" 設(shè)置
rcsinfo 為commit log回話指定一個(gè)模板.
taginfo 定義樂(lè)在任意"tag"操作后執(zhí)行的程序.
readers 設(shè)置有讀權(quán)限的用戶清單 (系統(tǒng)默認(rèn)沒(méi)有此文件,必須手工添加)
writers 設(shè)置有讀寫權(quán)限的用戶清單 (系統(tǒng)默認(rèn)沒(méi)有此文件,必須手工添加)


到此為止,CVS服務(wù)器的配置做完了,你可以使用你的CVS服務(wù)器了。你可以測(cè)試你的CVS服務(wù)器了,在命令行下輸入以下指令來(lái)登陸CVS服務(wù)器,如果沒(méi)有提示任何信息說(shuō)明你已經(jīng)登陸到CVS服務(wù)器了
cvs  -d :pserver:cvsroot@192.168.7.183:/home/cvsroot login
(三) CVS客戶端軟件WinCVS的配置:
1. 軟件說(shuō)明:雖然您在UNIX上安裝的CVS軟件即包括了Server端又包括了Client端,但是你在使用時(shí)需要記憶那些反煩瑣的命令,現(xiàn)在有一個(gè)軟件WinCVS是運(yùn)行在Windows下的一個(gè)CVS的客戶端軟件,
2. 軟件安裝:得到WinCVS的安裝程序后執(zhí)行里面的setup.exe文件,安裝到你指定的目錄下。
3. 軟件的啟動(dòng):開始-程序-GNU-WinCVS1.3-WinCVS
4. 軟件的配置:在Admin菜單下選擇Preferences…,彈出的窗口中選“General”頁(yè)面,具體設(shè)置如下所示:
Authentication: pserver (認(rèn)證方式為pserver,這是默認(rèn)的認(rèn)證方式)
Path: /home/cvsroot (在服務(wù)器上數(shù)據(jù)倉(cāng)庫(kù)的路徑)
Host address: 192.168.7.183 (服務(wù)器的IP地址)
User name: bjcvs (登陸服務(wù)器的用戶名)
CVSROOT: 設(shè)置完成上面的項(xiàng)目后,此項(xiàng)會(huì)自動(dòng)生成,在此不必設(shè)置

5. 在“Globals”頁(yè)面中取消以下兩項(xiàng)前面的復(fù)選框
Checkout read-only (如果你選擇此項(xiàng)則checkout出來(lái)的項(xiàng)目都是只讀的)
Prune(remove) empty directory (不允許目錄為空)
6. “WinCVS”頁(yè)面中,在“HOME (passwords and ~/.cvs*”后面的填入你本機(jī)的一個(gè)目錄,
以后你做的check out、check in操作都在此目錄下。“Default viewer used to”設(shè)置默認(rèn)得編輯器
7. “Command Dialogs”頁(yè)面不用設(shè)置。
(四) 選擇“Admin”-“login” 后會(huì)彈出一個(gè)窗口,讓你輸入密碼,這樣你可以登陸到CVS服務(wù)器了,
如果你看到下面的信息說(shuō)明你的登陸是成功的:
cvs -z9 login
Logging in to :pserver:bjcvs@192.168.2.52:2401/home/cvsroot
*****CVS exited normally with code 0*****
凡是“CVS exited normally with code 0”后不是0狀態(tài)的都為登陸失敗以后你在CVS上所作的操作不是以0結(jié)尾的都是錯(cuò)誤操作。
(五) WinCVS的使用:
1. 上傳(checkin):

上傳一個(gè)目錄:
窗體中部左邊有一個(gè)explore頁(yè),點(diǎn)擊它,選擇你準(zhǔn)備上傳的文件夾;點(diǎn)擊菜單欄的creat->>import module from selection,會(huì)跳出一個(gè)import filter窗體。如果你的文件里有錯(cuò)誤,import filter窗體里會(huì)有error或warn標(biāo)志,如果真是這樣,你好還是先看一看有何問(wèn)題。
下一個(gè)跳出的窗體是import setting,在select the module name and path on the remote server里面填上一個(gè)名稱,當(dāng)你的文件傳上服務(wù)器后,cvs服務(wù)器里會(huì)以這個(gè)名稱建立一個(gè)代碼庫(kù),存放剛才傳上來(lái)的文件。請(qǐng)記住,下拉框并沒(méi)有什么神奇的功能,它只能記住你上次填進(jìn)去的東西。

上傳一個(gè)文件:
在本地工作目錄中添加一個(gè)新文件后,要提交到服務(wù)端。先選中文件,然后點(diǎn)擊工具欄中的“添加按鈕(Add selected)”,添加文件后,再在右鍵菜單中選擇提交命令“Commit Selection”即可。
  
2. 下載(checkout):

下載一個(gè)目錄:
經(jīng)過(guò)上一步操作,你在服務(wù)器里有了源代碼,所有的開發(fā)者可以開始工作了。當(dāng)然,開發(fā)者需要先下載一個(gè)拷貝到本地才能修改它。建立本地工作目錄,在自己的硬盤上新建一個(gè)目錄,例如建立一個(gè)名為“work”的目錄,表示這是工作目錄。選擇creat->>checkout module,出現(xiàn)的窗體是checkout setting,在module name and path on the server中填寫你在上一步(上傳文件)中,上傳到服務(wù)器中的模塊名稱。在Local folder to checkout to中填寫你

下載一個(gè)文件:
如果你不小心刪除了你本地工作目錄中的一個(gè)文件,你可以選中窗體中部左邊有一個(gè)Modules頁(yè),選擇你工作的Modules,在右邊窗口中右鍵選中那個(gè)你誤刪除的文件,選擇update selection,把CVS服務(wù)器上的文件和本地文件進(jìn)行同步與合并,不用選中出現(xiàn)的任何選項(xiàng),直接選擇“確定”。
3. 鎖定:
一般而言,在項(xiàng)目小組中,項(xiàng)目經(jīng)理會(huì)定期公布新的基礎(chǔ)版本,要求小組成員都在這個(gè)基礎(chǔ)版本上進(jìn)行進(jìn)一步開發(fā)在實(shí)際工作中,總會(huì)有些成員提前完成工作,他們提交更改后,新版本會(huì)比項(xiàng)目經(jīng)理發(fā)布的基礎(chǔ)版本的version更高。有時(shí)候,某些項(xiàng)目成員會(huì)有意無(wú)意修改基礎(chǔ)版本,并且指定提交到基礎(chǔ)版本上,如果允許他們提交修改,大家可能都會(huì)在一個(gè)錯(cuò)誤的基礎(chǔ)版本工作,后果是不堪設(shè)想的。
鎖定文件的操作如下:
菜單欄的admin->>comandline,輸入這個(gè)命令:
cvs admin -l版本號(hào) 文件全名
注意,-l和版本號(hào)之間沒(méi)有空格。
如果你鎖定成功,會(huì)有如下提示:
RCS file: /cvs/hrsystem/test/new.txt,v
1.1.2.3 locked
done
*****CVS exited normally with code 0*****

關(guān)于CVS的Client端WinCVS的介紹我只能說(shuō)這么多了,在網(wǎng)上關(guān)于WinCVS的介紹有很多資料,大家可以去查查,

(六) 公司內(nèi)部CVS帳號(hào)說(shuō)明:
公司內(nèi)部CVS服務(wù)器現(xiàn)在已經(jīng)搭建起來(lái),在portal機(jī)器上(192.168.2.52),并且給每個(gè)人添加了一個(gè)CVS的用戶,用戶名是:
您的姓的全稱+名字的第一個(gè)字母,
例如:張道明的CVS帳號(hào)是 zhangdm
密碼和用戶名相同,也是zhangdm
目前為測(cè)試和學(xué)習(xí)CVS的使用階段,等大家對(duì)CVS的使用比較熟練時(shí)再統(tǒng)一由Microsoft Visual SourceSafe轉(zhuǎn)入CVS。
(七) 安裝cvs前需要首先安裝Python-2.2.1.exe(現(xiàn)在已經(jīng)有比較新的腳本了)

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