<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    caoyinghui

    Eclipse中CVS界面功能描述 (三)

    //原文地址:http://hi.baidu.com/xublog/blog/item/8eab160264428f094afb512b.html

    5.4.9 處理同一文件的并發(fā)更新

    首先,我們討論一下一個被建議用來進行修改操作的協(xié) 議。當在工作空間中使用資源時,您的操作是獨立于CVS資源庫的。因為發(fā)生在資源庫中的更改可能是在您不知道的情況下發(fā)生的,所以非常重要的一點是,如果 還未檢查資源庫中是否有更新取代了您的更改,那么您一定不要提交任何更改。Team | Update…操作會用資源庫中那些取代了您的更改的任何更改來更新項目的本地副本。對于文本文件(包括Java類)來說,Team | Update…操作會自動對任何更改進行合并(從資源庫到工作空間),即使這些更改可能造成沖突。在遇到?jīng)_突時,合并操作會用特定的CVS標記文本來標識 文件中的沖突,以幫助您識別出沖突行。標記文本并不是與任何類型的文件都兼容,例如它可能導致編譯錯誤。

    Update… 操作是一個非常強大的操作,我們在練習時一定要小心。在下面這個例子中,Pat和Lynn更新了一個簡單的文本文件。無需知道它,它們都對以“B”和 “C”開始的行進行了更新。標記文本會對沖突的那些行以及引入了沖突的版本號(1.2)進行了標識。對于一個帶有眾多沖突的復雜Java文件來說,您可能 很難解決其中的沖突。

    A is for apple

    <<<<<<< sample.txt

    B is for bird             (updated by pat )

    C is for crow             (updated by pat )

    =======

    B is for bobcat           (updated by lynn )

    C is for cow             (updated by lynn )

    >>>>>>> 1.2

    D is for dog

    E is for excellent

    F is for farm

    G is for goat...

    Team | Synchronize with Repository…操作也支持更新,但是該操作不會自動進行更新。在執(zhí)行該操作后會顯示Synchronize視圖,并會列出工作空間副本和資源庫最 新資源之間那些不一致的資源。在Synchronize視圖中,您可以對這些差別進行檢查,并決定所要采取的操作。由于Team | Synchronize with Repository…操作可使您擁有更多的控制權(quán),所以我們建議您使用該操作來代替Update…操作。

    下面總結(jié)一下文件并發(fā)更新的基本規(guī)則:在對工作空間 中的文件進行修改之前,您必須用資源庫中的所有更改來更新工作空間中的資源。為了安全起見,此時請使用Team | Synchronize with Repository…操作。在Synchronize視圖中,您可執(zhí)行更新操作,還可提交更改,并可協(xié)調(diào)沖突。

    5.4.10 使用CVS的Watch/Edit支持以避免對同一文件的并行更新

    CVS 的Watch/Edit支持是Eclipse本身就提供的。如果您同意使用CVS的Watch/Edit支持,那么在提交資源時,您和小組其他成員之間就 可以避免沖突。在啟用了CVS的Watch/Edit支持之后,您的項目小組可以更好地理解在所有具體項目中,當前誰正更新文件。相反,前面所討論的 CVS Annotate視圖為您所顯示的是先前的更改以及誰做的更改。CVS的Watch/Edit支持是在項目層次上被啟用的。如果在Team | CVS >Watch/Edit的首選項設(shè)置頁面中選中了Configure projects to use Watch/Edit on checkout復選框,那么在項目被檢出時,Watch/Edit支持將被自動激活。您也可以通過設(shè)置項目的CVS屬性在受CVS管理的現(xiàn)有項目上啟用 Watch/Edit支持。在CVS的Watch/Edit支持被啟用時,該項目中的文件處于只讀狀態(tài)。此時,如果您在編輯器中打開了某文件后又試圖對該 文件進行修改,那么CVS服務(wù)器會被詢問。在編輯文件時,如果其他人也正在編輯該文件,那么就會出現(xiàn)一個對話框以通知您小組中其他成員也正在編輯該文件 (見圖5-9)。這時,您可以繼續(xù)對該文件進行編輯,但是在您提交該文件時需要進行沖突管理。在文件被修改時,檢查標記修飾符 會被添加到該文件上。

    圖5-9 顯示其他人正在編輯同一文件的對話框

    在項目、文件夾以及文件上執(zhí)行Team | Show Editors操作后會打開CVS Editors視圖。CVS Editors視圖中列出的是所有正在被其他人更新的資源(見圖5-10)。無論是否處于Watch/Edit的控制之下,您在任何項目及項目資源上都可 以使用Team | Show Editors操作。但是Team | Show Editors操作只會對啟用了Watch/Edit支持的項目資源進行標識。

    圖5-10 列出了哪個用戶正在更新文件夾中文件的CVS Editors視圖

    您可以使用Team | Edit操作來顯式地通知CVS服務(wù)器,讓CVS服務(wù)器知道您想對文件進行更新。您還可以使用Team | Unedit操作來通知CVS服務(wù)器,讓CVS服務(wù)器知道您不想再編輯該文件。這樣,您所做的任何更改都會被從CVS資源庫中檢出。表5-3給出了有關(guān)這 些操作的信息。在向CVS提交了更改之后,Watch/Edit列表中的資源會被隱式刪除掉。

    Watch/Edit是一個非常有用的工具。但是該 工具的使用需要遵循一些規(guī)則,并要注意一些考慮事項。首先,如果要使Watch/Edit功能高效,那么小組中的每個成員都必須在存在潛在沖突的項目中啟 動Watch/Edit功能。其次,您必須連接到CVS服務(wù)器上。如果您沒有和CVS服務(wù)器相連,并且想更新一個文件,那么您將不得不顯式地將該文件的只 讀狀態(tài)(從該文件的屬性頁面中可獲得該屬性)取消掉。當然,該支持現(xiàn)在是折中的。這是因為,沒有任何人知道該更新,而且在提交過程中存在潛在的沖突。如果 您刪除了一個項目并且該項目資源的Watch/Edit首選項設(shè)置沒有被啟用,那么CVS服務(wù)器將不會被通知,并且CVS服務(wù)器會繼續(xù)向外報告您正在對這 些資源進行編輯。如果您的小組計劃使用Watch/Edit支持,那么明智的做法是小組中所有人都啟用被標注為Configure projects to use Watch/Edit on checkout的CVS Watch/Edit首選項設(shè)置。

    5.4.11 恢復被刪除的文件

    有時候,在文件被刪除并且更改被提交給CVS后,您 可能需要恢復所刪除的文件。幸運的是,CVS不會將所刪除的文件從該文件所在的資源庫中移除。您可以使用Team | Restore from Repository操作來恢復所刪除的文件。如果被刪除的文件在資源庫中存在,那么您將看到一個對話框。在該對話框中,您可以選擇所要恢復的文件的具體 修訂版(見圖5-11)。而文件的最新修訂版則是一個對所刪除文件的引用。這是因為文件刪除是一個CVS修訂操作。

    圖5-11 顯示可恢復的被刪除文件的Restore from Repository對話框

    當一個文件被恢復到工作空間中的時候,該文件被看作是一個新文件。在提交該文件之前或提交該文件時,必須將該新文件添加到版本控制中。

    5.4.12 其他CVS用戶界面元素

    1. Checkout向?qū)?/h4>

    在New wizard對話框中獲得的是CVS向?qū)е械臋z出項目。通常,您會使用CVS Repositories視圖來檢出項目。但是,有些CVS資源庫是不允許被瀏覽的。在這種情況下,檢出向?qū)Э赡芫捅容^有用。但是在這種情況下,您必須預先知道該項目的名稱。

    2. CVS備忘單

    若要打開Cheat Sheet Selection對話框,則選擇Help | Cheat Sheets…命令。對于CVS任務(wù)來說,備忘單用來為分支和合并操作提供幫助。

    作者:caoyinghui1986 發(fā)表于2009-8-28 21:53:00 原文鏈接
    閱讀:402 評論:0 查看評論

    posted on 2009-08-28 13:53 shine_panda 閱讀(87) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2009年8月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人片在线观看天堂无码| 久久精品国产亚洲麻豆| 精品久久久久久亚洲精品| 久久国产乱子伦精品免费看| 亚洲人成网亚洲欧洲无码久久| 三年片在线观看免费观看大全中国| 国产一级理论免费版| 美女露隐私全部免费直播| 免费A级毛片无码久久版| 美女黄网站人色视频免费| 亚洲国产专区一区| 精品97国产免费人成视频| 亚洲av永久无码制服河南实里| 免费国产成人18在线观看| 久久精品国产亚洲77777| 丁香花免费高清视频完整版| 中文字幕亚洲情99在线| 国产又长又粗又爽免费视频| 免费人妻精品一区二区三区| 国产成人精品日本亚洲专区61| 在线观看免费播放av片| 亚洲国产成人手机在线电影bd| 国产小视频免费观看| 成年免费a级毛片免费看无码| 456亚洲人成在线播放网站| 久久亚洲综合色一区二区三区| 在线观看免费毛片| 精品无码人妻一区二区免费蜜桃| 羞羞视频免费观看| 亚洲一区二区观看播放| 亚洲国产精品人久久| 久久精品国产亚洲AV不卡| 日本一道在线日本一道高清不卡免费 | 亚洲精品一级无码鲁丝片| 在线观看H网址免费入口| 久久WWW免费人成—看片| 亚洲AV无码之国产精品| 亚洲人成影院午夜网站| 亚洲国产成人一区二区精品区| 亚洲精品视频在线观看你懂的 | 狠狠色伊人亚洲综合成人|