如何結合使用 Subversion 和 Eclipse

集成其實很簡單 html

從一開始,Eclipse 便包含了與 Concurrent Versions System(CVS)的緊密集成,以便提供具備變動管理能力的訪問權限。如今,許多項目(特別是 Apache Software Foundation 運行的項目)正在使用的是另一種變動管理系統:Subversion。本文介紹如何爲使用 Subversion 存儲庫的項目使用 Eclipse。 linux

 評論: 數據庫

Chris Herborth (chrish@pobox.com), 自由撰稿人, 做家 後端

2006 年 9 月 25 日 緩存

  • +內容

原有的 Eclipse 安裝已集成了對 CVS(一種流行的開放源碼變動管理系統)的支持。CVS 的功能及其侷限性衆所周知,可是許多小組一直在研究其餘版本控制的系統,以便提供更好的伸縮性、對合並變動和分支版本的更好支持以及對二進制文件格式的更好支持。 服務器

Subversion(SVN)是最受歡迎的 CVS 替代品,它提供了更好的性能(容許智能本地緩存和數據庫後端)、輕鬆而又快速的分支(branching)以及對使用 CVS 時常見的全部問題的應答。 網絡

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

開始以前

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

您還須要訪問 Subversion 存儲庫。若是須要創建一個 Subversion 存儲庫,可在 Subversion 的 Web 站點(參見 參考資料)中找到一些出色的參考資料。出於演示目的,我將向您展現如何檢出 Subclipse 項目,並在局域網上使用存儲庫中的項目。 svn

回頁首

將 Subclipse 添加到 Eclipse

Subclipse 是一個爲 Eclipse IDE 添加 Subversion 支持的項目。咱們將使用 Eclipse 的更新管理器將 Subclipse 添加到 Eclipse IDE。在 Eclipse 中的 「Help」 菜單中選擇 Software Updates > Find and Install 打開更新管理器。

圖 1. Eclipse 更新管理器
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 沒有數字簽名
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 提示您輸入用戶 ID 和口令。若是您在 Subclipse 站點上沒有帳號,請輸入 guest 做爲用戶 ID,並輸入空格做爲口令,選中Save Password 框,並單擊 OK

圖 9. 添加存儲庫 URL
添加存儲庫 URL

Eclipse 會顯示 Subclipse 存儲庫中的文件夾(參見圖 10)。展開 trunk 選中 subclipse 文件夾,而後單擊 Finish 便可檢出您自已的 Subclipse 項目的源代碼副本。因爲您對此沒有任何概念,因此在 New Project 嚮導提示您時,請選擇 Simple > Project

圖 10. Subclipse 存儲庫
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++ 項目
個人 Eclipse C/C++ 項目

如今,咱們作好了一切準備,能夠開始工做。

將項目添加到存儲庫

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

圖 12. Share Project 對話框
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 操做
重命名文件是原子操做,儘管它包含一個 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 出色的團隊項目管理功能集成在一塊兒(後者僅對 CVS 服務器提供開箱即用的支持)。使用 Eclipse 的更新管理器,您能夠輕鬆地將 Subclipse 添加到您的 Eclipse 安裝中,這容許您直接從 Eclipse 中使用這一高級(至少我是這麼認爲)版本控制系統。

雖然將項目添加到存儲庫 —— 並管理您的項目資源(若是存在)—— 對不熟悉 Subversion 的用戶來講,是一項望而生畏的任務,但經常使用操做的過程很是簡單。本文爲您詳細介紹了平常操做,幫助您熟悉 Subclipse。

參考資料

學習

得到產品和技術

討論

相關文章
相關標籤/搜索