您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
簡單cvs
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/1/28 13:38:55 ] 推薦標簽:

一、所要解決的問題
由于軟件項目越來越大,也增加了軟件項目管理的難度。在開發(fā)組中,每個成員都要保留一個副本,在開發(fā)中非常容易引起沖突。CVS 是為了解決這個問題的。
a、修改同步,防止一名開發(fā)人員的修改覆蓋其他人的成果。(check out、read only)

b、維護不同的版本。(按 version 查找)

c、可查找歷史記錄。防止 bug 的再引入。(diff)

CVS 為了解決這個問題,采用的方式是:

當開發(fā)人員對源代碼進行修改時,修改的內(nèi)容被登記(check in)到了 CVS 倉庫(repository)中。倉庫中保存了代碼的主控副本,以及歷次修改的歷史信息。它不保存文件的每個版本,而只是簡單的記錄發(fā)生在每個版本間的不同,節(jié)省磁盤空間。它能做到:

a、使開發(fā)人員的目錄和倉庫保持一致。可以把自己的修改提交(commit)給倉庫,讓倉庫更新自己。

b、允許代碼派生。可以進行測試,如果失敗,可以消除所做的修改,維持原結果。

c、檢索任何一個版本。

二、使用 CVS:

a、建立倉庫:設置并 export CVSROOT 變量,并設置倉庫目錄。比如創(chuàng)建 /home/cvsroot 目錄,并合理設置權限,在 .bash_profile 中加入:export CVSROOT=$HOME/cvsroot;運行 cvs init;設置讓用戶輸入日志信息的默認的編輯器:export EDITOR=vim。如果使用的是網(wǎng)絡,則 CVSROOT 變量的形式是: export CVSROOT=:exit:user@server:/path,比如:export CVSROOT=:exit:david@power/home/projects/repository

b、導入文件或目錄:cvs import filename_or_directory vender_tag release_tag;這三個參數(shù)的含義是:在倉庫中這些導入的文件所在的目錄、供應商標記、發(fā)行標記。比如 cvs import step1 david start。導入時的 N 表示所導入的文件都是新文件。

c、使用時導出文件,用:cvs checkout directory_name;參數(shù)含義是倉庫中所在的目錄。建立新的目錄,而不是獲取他人的改動

d、對文件修改后,保存修改到倉庫:cvs commit。

e、如果要獲得他人的修改,使用 cvs update,U 表示本地的一個文件已經(jīng)被更新。如果已經(jīng)對文件進行了修改,而此是他人已經(jīng)修改了該文件并提交,cvs 將告訴用戶發(fā)生沖突和沖突的位置。

f、添加一個文件:cvs add filename; cvs commit。

g、刪除一個文件:先在本地刪除,然后使用 cvs remove file_name; cvs commit。

三、使用標記

可以使用標記記錄某個時刻文件的內(nèi)容,這在制作發(fā)行版本的過程中非常有用:

cvs tag release1.0

改動后發(fā)現(xiàn)不正常,重新獲得這個版本,則使用:cvs checkout -r release1.0

四、測試性代碼:

當其中一個開發(fā)者對代碼進行改進,但未來結果不能確定時,可以使用 cvs 產(chǎn)生出一個代碼的分之,這并不改變主控代碼:cvs tag -b for_test。導出該代碼的命令是:cvs checkout -r for_test example。由于在已有的目錄樹中不會使用該分之,因此必須重新建立目錄樹。如果測試成功,則要求將主控代碼和測試代碼合并,則先導出主控代碼,然后合并:

cvs checkout;cvs update -jfor_test;cvs commit。

automake

通常情況下,在寫完自己代碼后,使用 make 命令進行編譯。make 命令其實什么也不做,知識讀取一個叫 Makefile 的文件,從中獲得 dependence and rule,然后調(diào)用 gcc 進行編譯。但是 Makefile 比較復雜,變化技巧也比較多。對于一個大的工程項目來說,如果沒有一個統(tǒng)一的風格,在工程延續(xù)的時候改動 Makefile 會很麻煩,也容易出錯誤。所以這時有了使用 automake 的需求。使用 automake,只需要掌握一點點規(guī)則,定義一些變量,能自動生成 Makefile。而這些 Makefile 有著統(tǒng)一的格式和結構,便于修改。下面如何使用 automake 舉出一個實際的例子。
2.1 使用 automake 的前提條件


在使用 automake 前,請先確認在系統(tǒng)中安裝了如下軟件:

GNU Automake

GNU Autoconf

GNU m4

perl

GNU Libtool(如果需要產(chǎn)生 shared library)如果沒有的話,請在發(fā)行版中找相應的 rpm 包。

2.2 制作 configure 腳本

autoconf 是用來生成自動配置軟件源代碼腳本(configure)的工具。configure 腳本獨立于 autoconf 運行,而且在運行的過程中,不需要用戶的干預,通常不需要附帶參數(shù)。它是用來檢驗軟件必須的參數(shù)的。autoconf 從一個列舉編譯軟件時所需要各種參數(shù)的模板文件中創(chuàng)建 configure。autoconf 需要 GNU m4 來生成該腳本。

由 autoconf 生成的腳本一般起名為 configure。當運行時,configure 創(chuàng)建了多個文件,并對這些文件中的配置參數(shù)賦予適當?shù)闹。?configure 創(chuàng)建生成的文件有:

1。一個或多個 Makefile,在軟件源代碼的每個目錄中都生成一個 Makefile。

2。還可選的生成 C 頭文件——configurable,包含了各種 #define 聲明。

3。一個名為 config.status 的腳本,當運行時,重新生成上面的文件。

4。一個名為 config.cache 的腳本,保存運行檢測的結果。

5。一個名為 config.log 的文件,保存有編譯器生成的信息,用于調(diào)試 configure。

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