您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
使用WinCVS進(jìn)行版本控制
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/13 16:17:07 ] 推薦標(biāo)簽:

一、客戶端的配置

    啟動pagent,添加私鑰;啟動wincvs,配置好preference選項(xiàng)(admin菜單里)。
    詳情請見CVS客戶端配置。
    讓我悄悄告訴你,在preference里好將“globe”選項(xiàng)卡中的“checkout read-only”置空,這可是tianyuan的秘技:)

二、初始化
    如果你已經(jīng)連上服務(wù)器,做過checkin、checkout等工作,可以略過這一步。
    選擇creat->creat a new reporsitory,無需更改默認(rèn)配置,確認(rèn)即可。
    如果一切正常,會在窗體下部的output窗口顯示如下信息:
    cvs -d :ext:monkey@monkeygro:/cvs/hrsystem init
    *****CVS exited normally with code 0*****

    第二行如果不是以“0”結(jié)尾,出現(xiàn)其他數(shù)字,表明出錯(cuò)了。

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

四、下載文件(checkout)
    經(jīng)過上一步操作,你在服務(wù)器里有了源代碼,所有的開發(fā)者可以開始工作了。
    當(dāng)然,開發(fā)者需要先下載一個(gè)拷貝到本地才能修改它。

    1. 建立本地工作目錄
    在自己的硬盤上新建一個(gè)目錄,很多人都取名為“work”,表示這是工作目錄。其實(shí),這只是一個(gè)好習(xí)慣而已。

    2. 下載文件
    選擇creat->checkout module,出現(xiàn)的窗體是checkout setting,在module name and path on the server中填寫你在第三步(上傳文件)中,上傳到服務(wù)器中的模塊名稱。如果你記不住第三步你填寫了什么,你可以先看一看本文的第九步。

五、修改與提交

    1、edit與uedit命令
    現(xiàn)在,你可以準(zhǔn)備修改源代碼了。不過,當(dāng)你到自己的本地工作目錄中,可能會發(fā)現(xiàn)下載回來的文件都是只讀的,這是因?yàn)槟阍诘谝徊街衟reference中,沒有將checkout read-only置空。
    在Wincvs中,你到窗體中部的module頁中,找到自己準(zhǔn)備修改的文件,在右邊的瀏覽窗口里選中它,然后選擇菜單欄中的trace->edit selection,可以將不可讀的文件置為可讀。

    2、更新(update)
    你喜歡那一種開發(fā)工具?VB、VC、Java還是Delphi?現(xiàn)在你可以開始你異常熟悉的代碼開發(fā)工作了。
    無論你用那種工具,當(dāng)你修改了工作目錄中的文件后,在Wincvs里,你可以看到這個(gè)文件變成紅色了。
    有一個(gè)好習(xí)慣是,在你準(zhǔn)備提交到服務(wù)器之前,先更新一下,因?yàn)橛锌赡軇e的開發(fā)者在你修改這個(gè)文件的同時(shí),也可能也修改了這個(gè)文件,這有可能會存在沖突,我們總是在提交前先處理沖突。
    更新的操作很簡單:選中你修改了的文件,在菜單欄中選擇modify,一般情況下,無需修改默認(rèn)選項(xiàng)。
    處理沖突請看本文第十節(jié)沖突處理。

六、標(biāo)記(tag)
    標(biāo)記是版本控制中很重要的功能。
    除了通常的作用,它還可以標(biāo)記修改者,讓大家知道,是誰提交了一個(gè)新版本。
    在Wincvs中選擇準(zhǔn)備標(biāo)記的文件,然后在菜單欄中選擇modify->creat a tag on selection;馬上creat tag setting窗體會出現(xiàn),在new tag name中填入標(biāo)記名即可。

七、分支的管理
    我們在這里先詳細(xì)說一下分支的作用。
    我們設(shè)計(jì)了一個(gè)圖書管理系統(tǒng),把1.0版交給了客戶A大學(xué);然后我們繼續(xù)開發(fā),有了新版本1.1版、1.2、1.3......這時(shí)A大學(xué)告訴我們,1.0版本有bug,我們很快在1.0版本的源代碼中找到了錯(cuò)誤所在。
    這時(shí)候,簡單的解決辦法是給A大學(xué)一個(gè)bug patch。你會問,為什么不給客戶新版本?原因很簡單:第一,我們還沒有檢查新穩(wěn)定版本中又無此bug;第二,客戶的系統(tǒng)已經(jīng)運(yùn)行了一段時(shí)間,升級到新版本上可能還會發(fā)生更多新問題。
    那么,我們應(yīng)該在1.0版本上建立一個(gè)分支,在這個(gè)分支上進(jìn)行開發(fā),修改bug ,創(chuàng)建bugpatch,客戶馬上能解決問題了。
    然后我們關(guān)起門來,查看新版本上有無此bug;如果有,將分支合并到主版本上,解決新版本的問題。
    實(shí)際操作如下:在菜單欄的creat->creat a branch,在跳出的creat branch setting窗體上,new branch中,填入你給分支取的名字;在module to fork中填入文件名;請記住,你要在rtag options選項(xiàng)卡中,選中rev./tag/branch,填入版本號。如果你這里不填,生成的分支將會以新版為分叉點(diǎn)。

八、鎖定文件
    這可是武漢自由軟件協(xié)會的另一個(gè)秘技。
    一般而言,在項(xiàng)目小組中,項(xiàng)目經(jīng)理會定期公布新的基礎(chǔ)版本,要求小組成員都在這個(gè)基礎(chǔ)版本上進(jìn)行進(jìn)一步開發(fā)。
    在實(shí)際工作中,總會有些成員提前完成工作,他們提交更改后,新版本會比項(xiàng)目經(jīng)理發(fā)布的基礎(chǔ)版本的version更高。
    有時(shí)候,某些項(xiàng)目成員會有意無意修改基礎(chǔ)版本,并且指定提交到基礎(chǔ)版本上,如果允許他們提交修改,大家可能都會在一個(gè)錯(cuò)誤的基礎(chǔ)版本工作,后果是不堪設(shè)想的。
    鎖定文件的操作如下,菜單欄的admin->comandline,輸入這個(gè)命令:
    cvs admin -l版本號 文件全名

    注意,-l和版本號之間沒有空格。如果你鎖定成功,會有如下提示:
    RCS file: /cvs/hrsystem/test/new.txt,v
    1.1.2.3 locked
    done
    *****CVS exited normally with code 0*****

九、文件瀏覽。
    1. 文件標(biāo)志瀏覽
    2. 通過Web頁面瀏覽
    3. 文件對比

十、沖突處理

十一、管理員的工作
    1. 協(xié)調(diào)小組,制定代碼管理規(guī)范
    2. 及時(shí)發(fā)布官方版本信息
    3. 充分利用標(biāo)記和分支管理開發(fā)團(tuán)隊(duì)

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