《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > Java程序開發過程中的CVS控制

Java程序開發過程中的CVS控制

2009-01-08
作者:王京武,劉東波,李由

1 引言?

??? 當前的信息系統開發過程存在著以下兩個急需解決的問題。第一,開發過程中代碼的持續集成問題。過去的系統集成,開發人員必須跑遍整個開發中心,詢問每一個程序員有沒有新的代碼,然后把這些新代碼拷貝過來,再找到合適的插入位置,這樣集成方式效率低下,錯誤率極高。第二,版本控制問題。由團隊進行開發的項目,尤其是開源的項目,版本的控制是復雜的。開發人員對于版本定義的不一致,以及先前版本的內容不完整甚至是丟失都是危險的。對于上述問題最簡單的解決方案就是:使用一套具有網絡功能并且帶有讓開發者輕松獲取源代碼的配置管理系統作為所有代碼的來源,然后再使用一套版本管理工具,以做到安全正確地記錄和使用各個時期各個版本中的文件。?

??? CVS是一套出色的開放源代碼的集配置管理與版本控制一體的工具,管理所有的源文件以及軟件的版本信息。這里的源文件不僅僅是代碼源文件,還包括創建的腳本文件、屬性文件、庫文件等。?

??? 正確地在系統開發過程中,尤其是在企業級開發或開源開發過程中使用CVS控制工具,體現了軟件配置管理與版本控制相結合的思想,這也是開發人員和團隊所必須具備的技能。?

2 CVS的概念?

??? CVS(Concurrent Versions System)是目前業界使用比較廣泛,思想比較先進,控制比較簡單的配置管理與版本控制一體的工具。CVS是基于Unix體系中成熟的SCCS(Source Code Control System)和RCS(Revision Control System)開發而成的一個開放源碼的項目,已經支持在Windows操作系統上的應用。由于開放源碼項目的開發者分布很廣泛,對于源文件和版本信息的管理難度很大,需要一個結構簡單、功能強大、能夠跨平臺的工具進行控制,所以開放源碼項目配置管理與版本控制已經成為目前CVS的一個典型應用。

2.1 CVS的結構?

??? CVS的基本工作思路就是在一臺服務器上建立一個倉庫,倉庫里可以存放許多不同項目的源程序,由倉庫管理員統一管理這些源程序。這樣就好象只有一個人在修改文件一樣避免了沖突。每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改都是在本地進行的,然后用CVS 命令進行提交,再由 CVS 倉庫管理員統一修改。這樣就可以做到跟蹤文件的變化,控制代碼的沖突?;谝陨系墓ぷ魉悸稢VS采用客戶機/服務器的結構,軟件的源文件以及各種版本信息存儲在作為倉庫的中心服務器內,開發者可以隨時通過CVS的客戶端工具將本地源文件的副本與中心服務器倉庫中的源文件保持一致。CVS的結構如圖一所示。?

圖一:CVS結構圖

2.2  CVS的重要術語?

2.2.1 Module(模塊)相互關聯的一組文件的集合,一般一個Module會和一個工程相對應。2.2.2 Respository(倉庫):存放Module的倉庫,可以在開發人員的本地也可以在遠程CVS服務器上。

2.2.3 Branch(分枝):Branch是倉庫中獨立派生的一個分離的開發版本,用于管理源文件的修改。其中HEAD作為一個特殊的Branch代表主干版本。HEAD可以分離出不同的Branch,而每個Branch中的變更又可以很容易地與HEAD進行合并。這種Branch模型通過支持源文件的并發修改,保證了不同開發者的相對獨立,但又高度集成。

2.2.4 Merge(合并):在CVS版本控制過程中,Merge作為一個核心的工作,將派生的Branch版本與HEAD的最新版本之間的變更合并到開發人員的工作目錄之中。CVS提供的Merge命令使開發人員在使用源文件時不會鎖定該文件,即同一個CVS管理的源文件可以被多個開發人員同時進行修改。

圖二:Java開發過程中CVS控制的示意圖

2.3  CVS的工作流程?

??? CVS的工作流程包括以下三個步驟。

??? 第一,預處理。通過更新操作保證所有本地源文件與最新的Branch中的源文件一致性。

??? 第二,代碼開發。在本地進行軟件代碼的開發,并在本地保存代碼的修改。

??? 第三,同步。當做好提交工作的準備后,進行與服務器的同步操作。Incoming和Outgoing是CVS工作時的兩種狀態模式,在進行Update操作時(從服務器得到其他人的修改),CVS進入Incoming狀態;在進行Commit操作時(把本地修改提交給CVS服務器),CVS進入Outgoing狀態。在同步階段中,開發人員首先通過Update操作檢查本地修改是否會造成與服務器端源文件的沖突和對完整性的破壞,最后向服務器Commit本地的修改。CVS版本控制的基本流程如圖三所示:

3 Java程序開發過程中的CVS控制?

??? Java語言具有語法簡單、安全、支持多線程、具有跨平臺性以及純面向對象等特點。為了廣泛適應各種類型的應用模式,先后出現了J2SE、J2ME以及J2EE等組件技術。

??? 現在CVS版本控制器對于Java提供了無縫的支持。眾多Java開發工具都將CVS功能內嵌到自身中,作為其版本控制的基本依托。主要支持CVS的開發工具有Borland公司的JBuilder和Eclipse組織提供的開源工具Eclipse。其中,JBuilder代表了當前主流的商用Java開發工具,Eclipse則代表了典型的開源Java開發工具。二者在最新的版本中都已經利用自身嵌入的CVS控制器實現了在本地或遠程CVS服務器上的軟件版本控制,從而將先進的版本控制思想引入到Java世界中。此外,對于其它尚未嵌入CVS的Java開發工具,開發人員還可以下載得到獨立的CVS管理器。比較常用的CVS管理器有WinCVS。三種不同的CVS管理器各有特點,下面分別介紹。

3.1 JBuilder中的CVS控制?

??? JBuilder是Borland公司的Java程序開發的主要工具,更是J2EE組件技術開發中的重要商業工具。JBuilder的標準版和企業版中集成了CVS版本控制系統功能,在JBuilder的應用瀏覽器中使用CVS的接口可以方便地訪問到CVS提供的大部分命令,從而直接訪問、使用和控制本地或遠程的CVS系統。

??? JBuilder中使用CVS的主要過程如下:第一,創建CVS倉庫(Respository)。該倉庫可以位于本地或遠程服務器;第二,創建CVS 模塊(Module)。開發人員在指定的倉庫中創建模塊,一旦工程以模塊的形成存在,那么工程的內容就都在CVS的控制之下了;第三,將JBuilder開發的源文件添加到CVS倉庫中;第四,從CVS倉庫中檢出(check out)模塊內容存放到本地工程中;第五,在檢出的本地工程中修改或刪除源文件;第六,解決與服務器倉庫中的代碼沖突,最終將本地源文件的更新內容提交到CVS倉庫中。

3.2 Eclipse中的CVS?

??? Eclipse是開源組織的Java開發工具,可以方便高效地開發J2SE和J2EE等組件技術下的信息系統或插件。Eclipse本身內置了CVS命令,不需要使用其他客戶端軟件,可以直接訪問、使用和控制CVS的服務器。

??? 作為開源項目主要使用的開發工具, Eclipse與以JBuilder為代表的商業開發工具在CVS使用上模式上有很大差別,即Eclipse沒有在本地創建CVS服務進行控制管理的功能。其原因在于使用Eclipse開發的開源項目,項目中的源文件需要高度地集中管理。開發者需要將本地的源文件提交到遠程服務器上,由開源組織統一進行控制。而JBuilder作為商用工具考慮到應用開發者面對的信息系統的類型很廣泛,對于開發規模較小的應用,源文件的控制不需要放置在CVS的遠程服務器上,可以通過在本地創建CVS服務的方式進行獨立控制。

3.3 通過WinCVS控制Java程序?

??? WinCVS是Windows操作系統下的一種CVS客戶端控制軟件,是目前對于CVS控制最為完善與靈活的軟件,其使用方法相對比較復雜。WinCVS獨立于任何開發工具,因此可以控制多種開發語言的源文件(如:Java、C/C++、Pascal)。例如,對于使用其他Java開發工具(如:Jdesigner、TextPad等等)甚至是寫字板開發的Java程序源文件,WinCVS都能夠進行控制管理。

??? 使用WinCVS的過程如下:第一,配置客戶端與服務器的參數;第二,CVS管理人員將源文件導入到服務器的模塊中;第三,CVS管理人員創建標簽、分支;第四,開發人員登錄遠程CVS服務器;第五,開發人員從服務器倉庫中檢出(checkout)模塊到本地工程(如圖四所示);第六,開發人員將本地工程修改過的文件提交到服務器的倉庫中;第七,開發人員在每次對本地的文件修改前,將服務器端倉庫中存放的文件更新到本地工程中,以保證在多人操作同一個文件時不會引起沖突;第八,開發人員將本地工程中的修改結果提交到服務器倉庫中;第九,CVS的管理人員合并不同分支(版本)的文件。在整個過程中,管理人員和開發人員可以隨時察看查看文件的當前狀態和歷史信息。

????????????

圖四:Checkout操作

4 結束語?

??? 利用CVS工具結合配置管理和版本控制的先進思想管理Java程序開發全過程,其目的是建立一整套高效安全的Java軟件項目開發的控制流程,以到達軟件工程中對于軟件開發實現過程的要求。

??? CVS工具的作用是提供快捷的方法和清晰的控制流程給開發人員。開發人員則需要在理解先進的配置管理和版本控制思想的前提下,使用CVS工具結合Java開發工具做到真正的高效管理??傊?,在現代的項目開發過程中,CVS已經成為解決代碼持續集成與版本控制的有效工具。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产一区二区三区免费在线观看| 日韩午夜激情av| 久久香蕉国产线看观看网| 久久激情综合网| 亚洲欧美日韩在线不卡| 久久精品91久久久久久再现| 欧美日韩国产a| 黄色一区二区三区| 欧美精品999| 亚洲一区在线看| 亚洲欧美美女| 亚洲午夜精品久久久久久app| 久久亚洲欧美| 欧美韩日高清| 亚洲一区二区三区午夜| 欧美chengren| 激情国产一区| 亚洲电影下载| 欧美日韩免费观看一区=区三区| 国产亚洲欧美日韩日本| 亚洲国产视频直播| 欧美日本在线看| 欧美日韩亚洲一区二区| 欧美日韩国产综合久久| 亚洲国产一区二区三区青草影视| 悠悠资源网久久精品| 欧美视频在线一区| 国产日韩欧美高清免费| 国产精品一区二区三区四区五区| 久久综合国产精品| 亚洲欧美国产精品va在线观看| 亚洲人成在线播放网站岛国| 亚洲国产裸拍裸体视频在线观看乱了| 国产欧美日韩另类视频免费观看| 亚洲激情视频在线播放| 久久精品免费电影| 极品尤物久久久av免费看| 国产主播精品| 久久天天躁狠狠躁夜夜av| 红桃视频一区| 国产一区二区三区av电影| 国产精品www.| 国产日韩一区二区三区在线| 国产精品每日更新在线播放网址| 亚洲在线视频网站| 农夫在线精品视频免费观看| 国产精品都在这里| 亚洲一区二区三区国产| 欧美精品福利视频| 欧美精品黄色| 国内精品久久久久久久果冻传媒| 国产精品推荐精品| 一个色综合av| 午夜精品电影| 99精品欧美一区二区三区综合在线| 中文在线资源观看视频网站免费不卡| 亚洲小视频在线| 国产亚洲一级| 欧美aaaaaaaa牛牛影院| 99在线热播精品免费| 影音先锋日韩有码| 美女精品国产| 欧美在线视频一区二区三区| 欧美精品激情在线观看| 久久久国产一区二区| av成人激情| 欧美日韩一级黄| 国产欧美69| 夜夜爽99久久国产综合精品女不卡| 国产精品视频大全| 亚洲精品五月天| 欧美日韩在线另类| 亚洲欧美日韩国产一区二区三区| 亚洲一本视频| 国产欧美日韩91| 国产一区二区你懂的| 在线不卡中文字幕播放| 老司机一区二区三区| 每日更新成人在线视频| 国产伦精品一区二区三区在线观看| 国产精品乱码妇女bbbb| 久久婷婷国产综合精品青草| 欧美日韩精品是欧美日韩精品| 亚洲精品亚洲人成人网| 国产精品狠色婷| 99成人精品| 亚洲欧洲精品一区二区三区| 一区二区三区久久久| 在线视频欧美日韩| 久久久国产亚洲精品| 欧美激情久久久久久| 免费在线播放第一区高清av| 久久久久久久久伊人| 欧美日韩亚洲一区二区三区| 欧美不卡激情三级在线观看| 91久久久国产精品| 欧美小视频在线观看| 蜜桃精品久久久久久久免费影院| 亚洲一级网站| 欧美日韩一区二区精品| 激情成人在线视频| 亚洲色在线视频| 久久国产精品久久久久久| 午夜精品亚洲| 国产欧美精品在线观看| 亚洲欧美另类中文字幕| 一区二区在线视频观看| 国产精品欧美一区喷水| 久久久国产精彩视频美女艺术照福利| 欧美日韩第一区| 欧美福利小视频| 国产欧美精品在线播放| 一区二区三区高清视频在线观看| 国产永久精品大片wwwapp| 亚洲一区二区三| 亚洲欧美精品在线观看| 亚洲午夜激情在线| 国产精品色在线| 欧美中文字幕在线观看| 亚洲综合三区| 欧美午夜在线视频| 欧美日韩一区国产| 亚洲国产小视频| 中文av一区二区| 国产一区视频网站| 久久久久久夜精品精品免费| 亚洲欧美另类在线观看| 亚洲视频一区在线观看| 欧美精品国产一区| 国产精品免费视频观看| 亚洲淫片在线视频| 欧美一区二区三区四区在线观看地址| 久久人91精品久久久久久不卡| 欧美国产日韩一二三区| 国产午夜精品久久久久久久| 午夜在线成人av| 国产专区一区| 欧美日韩精品欧美日韩精品一| 一本色道**综合亚洲精品蜜桃冫| 99热这里只有成人精品国产| 久久久人成影片一区二区三区| 亚洲一区在线观看免费观看电影高清| 亚洲精品中文字幕在线| 亚洲欧美国产日韩中文字幕| 快播亚洲色图| 欧美欧美午夜aⅴ在线观看| 欧美日韩性视频在线| 欧美视频在线观看免费网址| 欧美亚洲午夜视频在线观看| 欧美色图天堂网| 久久理论片午夜琪琪电影网| 国产欧美日韩综合精品二区| 国产一区二区精品久久| 尹人成人综合网| 在线成人性视频| 久久久福利视频| 在线观看视频免费一区二区三区| 99国产精品久久久| 日韩亚洲精品在线| 极品尤物一区二区三区| 欧美怡红院视频一区二区三区| 久久久久久久欧美精品| 国产亚洲人成a一在线v站| 国产欧美精品一区aⅴ影院| 欧美国产三级| 国内外成人免费激情在线视频| 欧美日韩国产二区| 国产精品男人爽免费视频1| 欧美午夜无遮挡| 在线免费观看日本一区| 日韩亚洲一区在线播放| 狠狠色丁香婷综合久久| 欧美一区二区三区日韩视频| 国产欧美一区二区三区国产幕精品| 午夜激情综合网| 亚洲一区免费网站| 国产精品99久久久久久人| 亚洲视频中文字幕| 国产精品你懂的在线| 在线一区二区三区四区| 国产欧美日韩精品在线| 国产日韩在线看| 99国产精品久久久久久久久久| 亚洲国语精品自产拍在线观看| 国产精品一页| 亚洲国产精品久久久久秋霞蜜臀| 欧美日本国产精品| 久久久噜噜噜久久中文字免| 亚洲欧洲日产国产网站| 另类欧美日韩国产在线| 久久人人看视频| 欧美高清自拍一区| 国语精品中文字幕| 精品成人一区二区三区| 欧美高清视频一区二区三区在线观看| 久久xxxx| 在线综合+亚洲+欧美中文字幕| 亚洲主播在线观看| 国产亚洲一区二区在线观看| 亚洲午夜国产一区99re久久| 激情欧美国产欧美| 一本久久精品一区二区| 国产精品美女视频网站| 欧美日韩日本网| 国产欧美日韩综合| 亚洲人成网站999久久久综合| 亚洲网站啪啪| 欧美精品一区在线| 狠狠色丁香婷婷综合久久片| 日韩视频在线一区| 亚洲欧美视频一区二区三区| 久久亚洲综合色一区二区三区| 欧美日韩亚洲一区在线观看| 国内成人自拍视频| av不卡在线看| 欧美成人一区二区三区| 久久―日本道色综合久久| 欧美刺激午夜性久久久久久久| 亚洲国产精品一区二区第四页av| 日韩一区二区福利| 国产精品伦子伦免费视频| 亚洲一区二区高清视频| 欧美日韩妖精视频| 亚洲人久久久| 久久久亚洲高清| 欧美精品福利| 亚洲精品小视频在线观看| 午夜精品影院在线观看| 亚洲香蕉网站| 久久中文字幕一区二区三区| 在线视频日本亚洲性| 亚洲视频一区| 久久婷婷成人综合色| 亚洲一区三区视频在线观看| 欧美日韩一区二区在线视频| 99热在这里有精品免费| 国产精品99久久久久久白浆小说| 国内精品久久久久影院薰衣草| 国产一区二区三区四区五区美女| 久久久久久一区二区| 久久免费视频在线| 国产农村妇女精品一二区| 欧美视频在线观看一区二区| 精品va天堂亚洲国产| 国产亚洲va综合人人澡精品| 欧美日韩精选| 99re这里只有精品6| 久久一区国产| 蜜月aⅴ免费一区二区三区| 韩国精品久久久999| 欧美日韩妖精视频| 国产日韩欧美日韩大片| 国产精品久久久一区麻豆最新章节| 欧美久久久久久| 亚洲福利视频在线| 狠狠爱www人成狠狠爱综合网| 亚洲一区二区综合| 欧美日韩精品不卡| 黄色一区三区| 在线精品高清中文字幕| 国产一区在线免费观看| 国产精品美女久久久久av超清| 亚洲欧美日韩精品久久亚洲区| 在线看日韩欧美| 红桃视频国产精品| 亚洲激情亚洲| 永久域名在线精品| 亚洲视频一二区| 欧美成黄导航| 亚洲二区在线观看| 久久亚洲欧洲| 欧美日韩一区二区视频在线| 亚洲专区一二三| 国产精品羞羞答答xxdd| 亚洲精一区二区三区| 免费不卡中文字幕视频| 国产精品美女主播| 国内精品久久久久久久影视麻豆| 亚洲精品欧美| 欧美日韩国产区一| 亚洲欧美另类在线观看| 欧美精品在线免费观看| 亚洲综合二区| 亚洲三级毛片| 欧美色区777第一页| 欧美一区二区三区四区视频| 久久精品视频网| 国产精品对白刺激久久久| 午夜激情一区| 久久精品人人| 久久午夜精品一区二区| 国产精品日韩高清| 国产一区 二区 三区一级| 国产精品久久久久久亚洲毛片| 欧美激情一区二区三区| 99re国产精品| 亚洲系列中文字幕| 欧美日韩成人在线| 欧美日本在线| 欧美一区二区三区在线看| 欧美激情一区二区三级高清视频| 国产精品国产a| 亚洲一区网站| 欧美影院久久久| 久久国产日韩| 免费在线亚洲| 欧美性事在线| 欧美国产高潮xxxx1819| 亚洲女同同性videoxma| 亚洲免费小视频| 国产一区二区三区在线观看精品| 亚洲高清二区| 久久国产色av| 久久精品国内一区二区三区| 亚洲国产视频一区二区| 国产女主播一区| 亚洲区一区二| 一本久久综合亚洲鲁鲁五月天| 激情国产一区二区| 亚洲小说区图片区| 国产精品一二三视频| 99精品久久| 亚洲最新中文字幕| 牛人盗摄一区二区三区视频| 久久久久久香蕉网| 欧美色综合天天久久综合精品| 欧美日韩在线一二三| 可以免费看不卡的av网站|