2011-03-07 49 views
0

我對SVN非常陌生。我創建了自己的存儲庫,該存儲庫在apache Web服務器上運行,並且正在使用NetBeans 6.9.1 IDE構建Java Web應用程序。我已經使用內置的Subversion功能成功地將我的Web應用程序項目提交到我的存儲庫。NetBeans - SVN - Java WAR

現在,我想要做的是簽出到我的web服務器(tomcat)的存儲庫的具體修訂版本。我可以使用SVN CO命令執行此操作,但是,NetBeans目前僅提交以下文件/目錄。 的build.xml nbproject文件/ 的src/ 測試/ 網/

理想的情況下(我認爲)我要提交由DIST /文件夾我的Web應用程序的WAR文件,因此部署項目時,我簽了修訂。

我注意到當我在NetBeans中右鍵單擊我的項目並轉到'Subversion> Svn Properties'時,會出現一個svn:ignore語句,其值爲& dist。我非常肯定這就是爲什麼dist文件夾沒有被提交到存儲庫。

  1. 是提交WAR文件的最佳方式,以後通過提交dist文件夾與checkout命令一起使用? i。如果是這樣,我怎樣才能刪除Svn屬性中的svn:ignore語句?我試圖刪除它,但它會自動重新出現。二,如果沒有,我怎樣才能更有效地使用SVN和我的倉庫來更新我的webapps?

非常感謝您的幫助!

回答

1

不要提交可以從源生成的文件。或者至少,如果您確實想要提交版本文件,請將它們提交到單獨的樹中,從構建war的dist文件夾斷開並在開發過程中重建。

只有在您成功通過所有測試後,纔會提交該發佈(如果是),並且您應該始終在發佈後爲整個源代碼樹創建一個標記。這樣,您可以始終簽出標籤並重建相同的版本。您還可以在中繼線中的下一個版本中工作時輕鬆創建發行版的維護分支。

+0

謝謝JB。如何爲WAR文件創建單獨的樹並確保在我從NetBeans提交項目時提交它?或者,我怎樣才能自動從我的Web服務器編譯源文件(我喜歡只需運行帶或不帶-r的svn update的想法)? – Steve 2011-03-07 20:11:32

+0

當您擁有一套完整的新功能或缺陷修復程序,並且通過了所有測試(單元,集成,驗收,性能等)時,才能發佈到Web服務器。經常發佈是一個好主意,但不是每次提交都會發布。此外,如果您在每次提交時都進行全新的戰爭,那麼您的SVN倉庫將很快變得非常龐大。如果你堅持在每次提交之後釋放(例如對測試服務器),我建議使用像Hudson這樣的持續集成服務器,它將檢測SVN樹中的變化,編譯並運行所有測試,然後在確定後發佈。 – 2011-03-07 20:19:36

+0

太好了,謝謝JB,這樣更有意義!直到去年,我還在用記事本編寫我的Java應用程序/網絡應用程序,所以我纔開始習慣IDE的所有節省時間的功能。哈德森是另一個我聽說過的,從未使用過的。我會研究它。再次感謝+1。 – Steve 2011-03-07 20:33:35