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

一、客戶端的配置

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

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

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

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

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

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

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

五、修改與提交

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

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

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

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

八、鎖定文件
    這可是武漢自由軟件協(xié)會的另一個秘技。
    一般而言,在項目小組中,項目經(jīng)理會定期公布新的基礎(chǔ)版本,要求小組成員都在這個基礎(chǔ)版本上進行進一步開發(fā)。
    在實際工作中,總會有些成員提前完成工作,他們提交更改后,新版本會比項目經(jīng)理發(fā)布的基礎(chǔ)版本的version更高。
    有時候,某些項目成員會有意無意修改基礎(chǔ)版本,并且指定提交到基礎(chǔ)版本上,如果允許他們提交修改,大家可能都會在一個錯誤的基礎(chǔ)版本工作,后果是不堪設(shè)想的。
    鎖定文件的操作如下,菜單欄的admin->comandline,輸入這個命令:
    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. 文件標志瀏覽
    2. 通過Web頁面瀏覽
    3. 文件對比

十、沖突處理

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

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