• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    簡單cvs

    發布: 2007-6-21 12:06 | 作者:   | 來源:   | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網

       
      一、所要解決的問題
    由于軟件項目越來越大,也增加了軟件項目管理的難度。在開發組中,每個成員都要保留一個副本,在開發中非常容易引起沖突。CVS 就是為了解決這個問題的。

    a、修改同步,防止一名開發人員的修改覆蓋其他人的成果。(check out、read only)

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

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

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

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

    a、使開發人員的目錄和倉庫保持一致?梢园炎约旱男薷奶峤唬╟ommit)給倉庫,讓倉庫更新自己。

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

    c、檢索任何一個版本。

    二、使用 CVS:

    a、建立倉庫:設置并 export CVSROOT 變量,并設置倉庫目錄。比如創建 /home/cvsroot 目錄,并合理設置權限,在 .bash_profile 中加入:export CVSROOT=$HOME/cvsroot;運行 cvs init;設置讓用戶輸入日志信息的默認的編輯器:export EDITOR=vim。如果使用的是網絡,則 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;這三個參數的含義是:在倉庫中這些導入的文件所在的目錄、供應商標記、發行標記。比如 cvs import step1 david start。導入時的 N 表示所導入的文件都是新文件。

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

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

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

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

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

    三、使用標記

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

    cvs tag release1.0

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

    四、測試性代碼:

    當其中一個開發者對代碼進行改進,但未來結果不能確定時,可以使用 cvs 產生出一個代碼的分之,這并不改變主控代碼: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,然后調用 gcc 進行編譯。但是 Makefile 比較復雜,變化技巧也比較多。對于一個大的工程項目來說,如果沒有一個統一的風格,在工程延續的時候改動 Makefile 會很麻煩,也容易出錯誤。所以這時就有了使用 automake 的需求。使用 automake,只需要掌握一點點規則,定義一些變量,就能自動生成 Makefile。而這些 Makefile 有著統一的格式和結構,便于修改。下面就如何使用 automake 舉出一個實際的例子。
    2.1 使用 automake 的前提條件


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

    GNU Automake

    GNU Autoconf

    GNU m4

    perl

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

    2.2 制作 configure 腳本

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

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

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

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

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

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

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

    為了讓 autoconf 生成 configure 腳本,需要以 configure.in 為參數調用 autoconf。如果要檢測自己的各種參數,以作為對 autoconf 的補充,則需要寫 aclocal.m4 和 acsite.m4 的文件。如果要使用 C 頭文件,需要寫 acconfig.h,并且將 autoconf 生成的 config.h.in 同軟件一起發行。

    your source files --> [autoscan*] --> [configure.scan] --> configure.in


    configure.in --. .------> autoconf* -----> configure

    +---+

    [aclocal.m4] --+ `---.

    [acsite.m4] ---' |

    +--> [autoheader*] -> [config.h.in]

    [acconfig.h] ----. |

    +-----'

    [config.h.top] --+

    [config.h.bot] --'


    Makefile.in -------------------------------> Makefile.in

    Files used in configuring a software package:

    .-------------> config.cache

    configure* ------------+-------------> config.log

    |

    [config.h.in] -. v .-> [config.h] -.

    +--> config.status* -+ +--> make*

    Makefile.in ---' `-> Makefile ---'


    編輯 configure.in 文件:

    configure.in 文件中包含了對 autoconf 宏的調用,這些宏是用來檢測軟件所必須的各項參數的。為了能夠得到 configure.in 文件,需要使用 autoscan。configure.in 文件中,在進行各項檢測前,必須在最開始調用 AC_INIT,在最后調用 AC_OUTPUT。另外有些宏由于檢測的關系是和在文件中的位置相關的。最好每一個宏占用一行。


    使用 autoscan 創建 configure.in 文件

    可以將目錄做為參數調用 autoscan,如果不使用參數的化,則認為是當前目錄。autoscan 將檢查指定目錄中的源文件,并創建 configure.scan 文件。在將 configure.scan 改名為 configure.in 文件前,需要手工改動它以進行調整。


    使用 autoconf 創建 configure 腳本

    不帶任何參數的運行 autoconf。autoconf 將使用 m4 宏處理器和 autoconf 宏,來處理處理 configure.in 中的宏。


    configure.in 中的宏:

    AC_INIT(在源代碼中唯一的一個文件):configure 將檢查該文件是否存在,并檢查包含它的目錄是否存在。

    AC_OUTPUT(文件):指定創建的輸出文件。在 configure.in 文件中調用一次。文件名間用空格分開。比如:AC_OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk)

    在 configure.in 中,有一些被 autoconf 宏預先定義的變量,重要的有如下幾個:

    bindir:安裝可執行

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>