如何結合使用 Subversion 和 Eclipse

來源:互聯網
上載者:User

從一開始,Eclipse 便包含了與 Concurrent Versions System(CVS)的緊密整合,以便提供具有變更管理能力的存取權限。現在,許多項目(特別是 Apache Software Foundation 啟動並執行項目)正在使用的是另外一種變更管理系統:Subversion。本文介紹如何為使用 Subversion 存放庫的項目使用 Eclipse。

原有的 Eclipse 安裝已整合了對 CVS(一種流行的開放源碼變更管理系統)的支援。CVS 的功能及其局限性眾所周知,但是許多小組一直在研究其他版本控制的系統,以便提供更好的伸縮性、對合并變更和分支版本的更好支援以及對二進位檔案格式的更好支援。

Subversion(SVN)是最受歡迎的 CVS 替代品,它提供了更好的效能(允許智能本機快取和資料庫後端)、輕鬆而又快速的分支(branching)以及對使用 CVS 時常見的所有問題的應答。

繼續閱讀本文,瞭解如何向 Eclipse 添加 Subversion 支援,以及如何通過 IDE 執行基本的版本控制活動。

開始之前

為順利學習本文內容,您需要下載並安裝 Eclipse(參見參考資料)。為您的平台下載 Eclipse SDK 包將為您提供基本的 Eclipse IDE(也稱為 Eclipse Platform)和 Java Development Kit。如果您計劃使用 C/C++ (我正打算這麼做),請訪問 C Development Tooling(CDT)Web 網站並使用更新管理器安裝 CDT(下一節將介紹如何使用更新管理器)。

您還需要訪問 Subversion 存放庫。如果需要建立一個 Subversion 存放庫,可在 Subversion 的 Web 網站(參見 參考資料)中找到一些出色的參考資料。出於示範目的,我將向您展示如何檢出 Subclipse 項目,並在區域網路上使用存放庫中的項目。



回頁首

將 Subclipse 添加到 Eclipse

Subclipse 是一個為 Eclipse IDE 添加 Subversion 支援的項目。我們將使用 Eclipse 的更新管理器將 Subclipse 添加到 Eclipse IDE。在 Eclipse 中的 “Help” 菜單中選擇 Software Updates > Find and Install 開啟更新管理器。

圖 1. Eclipse 更新管理器
 

除了使用這個更新管理器尋找軟體更新外,我們還可以使用該更新管理器尋找並安裝新特性,如 Subclipse。務必選中 Search for new features to install,然後單擊 Next 以繼續。Eclipse 會顯示更新管理器的下一個面板。

圖 2. 更新管理器網站
 

由於我們需要的是特定特性,所以取消選中現有網站,然後單擊 New Remote Site,顯示 New Update Site 對話方塊(參見圖 3)。我們將使用此對話方塊將 Subclipse 更新網站添加到列表。

圖 3. 添加新的更新網站
 

在 Name 中輸入您需要的內容(Subclipse 是最佳選擇),並輸入以下 URL:http://subclipse.tigris.org/update_1.0.x(當前 Subclipse 更新網站)。單擊 OK 將 Subclipse 更新網站添加到更新管理器的列表中。

在更新管理器視窗中,單擊 Finish,開始搜尋新特性。在本例中,我們需要的新特性是 Subclipse。片刻之後,更新管理器的搜尋完成,並顯示搜尋結果。

圖 4. 可以安裝的新特性
 

選中 Subclipse(您可以單擊提示三角符號來查看此特性的詳細內容),然後單擊 Next 查看該特性的授權條款。接受條款,然後單擊 Next 檢查您選擇安裝的特性。單擊 Finish 下載並安裝 Subclipse。

更新管理器下載 Subversion 組件。在安裝任何內容之前,Eclipse 都將通知您該特性沒有數位簽章(圖 5)。這是您取消安裝的最後一次機會。單擊 Install All 繼續安裝。

圖 5. Subclipse 沒有數位簽章
 

安裝 Subversion 後,Eclipse 會立即通知您可能需要重新啟動 IDE 才能啟用新特性(參見圖 6)。周全起見,重新啟動 Eclipse。

圖 6. 安裝新特性後重新啟動 Eclipse
 

備份 Eclipse 後,才能安裝並順利使用 Subclipse。

如果在 Mac OS X 或 Linux 上運行 Eclipse,您可能需要安裝 JavaHL 庫,在 Subclipse FAQ 中的 Troubleshooting 部分對該庫進行了描述(請參閱參考資料)。在繼續嘗試使用 Subclipse 之前,請做好這些準備工作。

快速測試

完成安裝之後,測試新特性總是令人愉快;我們將從 Subversion 存放庫檢出 Subclipse 的副本,以確保其安裝正確。

在 Eclipse 的 File 菜單中選擇 Import 開啟匯入管理器(參見圖 7)。選擇 Checkout Projects from SVN,然後單擊 Next

圖 7. 匯入管理器
 

在 Select/Create Location 面板中(參見圖 8),我們需要建立一個新位置(因為尚未進行任何配置),因而單擊 Next 繼續。若 Next 按鈕禁用,請切換到 Use existing repository location 選項,然後返回到 Create a new repository location 以啟用 Next 按鈕。

圖 8. 建立新的存放庫位置
 

在接下來的部分(參見圖 9)中,將存放庫 URL(http://subclipse.tigris.org/svn/subclipse/)添寫到 Url 欄位中,然後單擊 Next。片刻之後,Eclipse 提示您輸入使用者識別碼 和口令。如果您在 Subclipse 網站上沒有帳號,請輸入guest 作為使用者識別碼,並輸入空格作為口令,選中 Save Password 框,並單擊 OK

圖 9. 添加存放庫 URL
 

Eclipse 會顯示 Subclipse 存放庫中的檔案夾(參見圖 10)。展開 trunk 選中 subclipse 檔案夾,然後單擊 Finish 即可檢出您自已的 Subclipse 項目的原始碼副本。由於您對此沒有任何概念,所以在 New Project 嚮導提示您時,請選擇 Simple > Project

圖 10. Subclipse 存放庫
 



回頁首

基本的 Subversion 操作

至此,我們已成功地安裝了 Subclipse,並在 Eclipse 設定中添加了對 Subversion 伺服器的支援,通過從存放庫下載最新的 Subclipse 原始碼,我們對 Subclipse 進行了測試。現在該考慮使用我們自已的代碼和 Subversion 存放庫來做些事情了。

向您展示如何使用 Subversion 之前,先簡單介紹一下我的存放庫。它駐留在稱為 dogma 的機器上,連接埠為 8000,我為與我的 developerWorks 文章相關的代碼建立了一個 developerworks 存放庫。我將項目直接放置在存放庫的根目錄中。其他存放庫的根目錄下通常會有 trunk、tags 和 branches 檔案夾,分別用於存放開發版本、標籤和分支。但我不希望為 developerWorks 文章中代碼的標籤和分支操作而煩心。

我已經添加了兩個項目,即 forkWork 和 threadWork,這兩個項目來自我的第一篇 developerWorks 文章。我的 Eclipse 工作區(參見圖 11)還包含三個來自 developerWorks 文章的其他項目(getopt_demo、getopt_long_demo 和 readdir_demo)。

圖 11. 我的 Eclipse C/C++ 項目
 

現在,我們做好了一切準備,可以開始工作。

將項目添加到存放庫

要將新的項目添加到 Subversion 存放庫,請右擊該項目(可以在任何 Eclipse 的項目視圖或 Navigator 視圖),並且從菜單中選擇 Team > Share Project。Eclipse 會顯示 Share Project 對話方塊。

圖 12. Share Project 對話方塊
 

從 Eclipse 當前支援的存放庫列表中選擇 SVN,然後單擊 Next。接下來的對話方塊(參見圖 13)讓您選擇現有存放庫位置,或者建立一個新位置。

圖 13. 選擇存放庫位置
 

如果您的存放庫已列出(如您所見,我已經添加了自已的庫),選中它,並單擊 Finish。如果您的存放庫未列出,請添加它(有關說明,請參閱 快速測試),並繼續。Eclipse 將在存放庫中建立新目錄,其名稱與項目相同,並顯示項目中的所有檔案和檔案夾的列表。

圖 14. 添加項目的內容
 

在頂部的欄位中輸入適當的內容來描述此項目,然後單擊 Select All 選中該項目的所有檔案。單擊 OK 以檢入項目,並將其目前狀態傳遞給 Subversion 存放庫。

Subversion 的命令和輸出結果顯示在 Console 視圖中,通常位於 Eclipse 視窗的底部(如果您查看 Subclipse 究竟對項目執行了什麼操作)。

更新項目

版本控制系統的重要特性之一是其他開發人員能夠隨時繼續開發,並在準備好時提交其變更。要下載這些變更,並將其與本機複本整合,您需要更新項目。

右擊您要更新的項目,然後從菜單中選擇 Team > Update。Eclipse 將從存放庫中檢索任何變更,並嘗試將它們與本機複本合并。

添加檔案或目錄

如果將檔案添加到項目中(參見圖 15),它不會自動成為版本控制的一部分 —— 您需要明確將其添加到特定的存放庫中。在下面的螢幕快照中,您可以看到,我已經將 ReadMe.txt 檔案添加到了 threadWork 項目中。

圖 15. 添加新檔案
 

右擊新檔案,然後選擇 Team > Add to Version Control。就是這樣!下一次將此項目中的變更提交給存放庫時,新檔案也會檢入。

刪除檔案或目錄

如果將檔案添加到了與項目不在相關的存放庫中,您可以輕鬆地刪除它。右擊檔案,然後選擇 Delete。不需要使用 Team 菜單,Subclipse 自動將標記要刪除的檔案,並將它從項目中移除。下一次將變更提交給存放庫時,該檔案被刪除了。

重新命名檔案或目錄

要重新命名 Subclipse 控制的檔案或目錄,請右擊它,然後選擇 Rename。在輸入欄位中鍵入項的新名稱,按 Enter 鍵。檔案是在項目中重新命名的,重新命名操作(通過 Add 操作添加新名稱、通過 Delete 操作刪除舊名稱)排隊等待您下一次提交。在圖 16 中,您可以看到將 main.c 重新命名為 threadWork.c 之後、提交更改之前的 threadWork 項目。注意,Subclipse 為 “新” 檔案添加的藍色小加號表示該檔案被安排在下一次提交時添加。

圖 16. 重新命名檔案是原子操作,儘管它包含一個 add 操作和一個 delete 操作
 

忽略檔案

如果項目組建檔案,或者包括您不想檢入的 Subversion 存放庫檔案,則可以通知 Subclipse 忽略它們。右擊您要在版本控制中排除的檔案或目錄,然後選擇 Team > Add to svn:ignore 即可顯示Add to svn:ignore 對話方塊。

圖 17. 忽略不納入版本控制的資源
 

單擊 OK 將這個特定的檔案添加到項目目錄的 svn:ignore 屬性中。選擇 Wildcard extension 忽略具有當前副檔名的所有檔案,或選擇 Custom pattern 在忽略列表中添加您自己的萬用字元。下一次提交變更時,對忽略列表的這些更改將添加到存放庫中。

提交更改

如果您對項目的變更感到滿意,確定了您的代碼可以編譯,並且已經對變更進行測試,則應將它們提交給 Subversion 存放庫。在您的工作站崩潰時,它可以作為一個備份,並允許其他開發人員更新其本機複本以包含您的變更。

在嘗試提交變更之前,請確保更新您的項目(參閱 “更新項目”)。右擊項目,並從菜單中選擇 Team > Commit。Eclipse 會顯示一個 Commit 對話方塊(參見圖 18),其中匯總了您作出的變更。

圖 18. 將變更提交給存放庫
 

如果仔細觀察,您會看到一個屬性更改為項目目錄(我已經添加了 svn:ignore 屬性,以使某些檔案保留在存放庫外),並且在添加 threadWork.c 時,刪除了 main.c。這一變更對實際上表示的是一個操作(檔案重新命名)。

此時,如果您要使某些資源保留在存放庫外,則可以取消對這些資源選擇。如果您在一個檔案中完成了部分工作,並且不希望檢入未完成的變更,則這種方法非常有用。在頂部的文字欄位中輸入適當的注釋,然後單擊 OK 將變更檢入存放庫。



回頁首

結束語

Subclipse 項目將對 Subversion 版本控制系統的支援與 Eclipse 出色的Team 專案管理功能整合在一起(後者僅對 CVS 伺服器提供開箱即用的支援)。使用 Eclipse 的更新管理器,您可以輕鬆地將 Subclipse 添加到您的 Eclipse 安裝中,這允許您直接從 Eclipse 中使用這一進階(至少我是這麼認為)版本控制系統。

雖然將項目添加到存放庫 —— 並管理您的項目資源(如果存在)—— 對不熟悉 Subversion 的使用者來說,是一項望而生畏的任務,但常用操作的過程非常簡單。本文為您詳細介紹了日常操作,協助您熟悉 Subclipse。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.