SVN庫的目錄結構詳解
本節和大家討論一下SVN庫的目錄結構問題,這里我發表一下個人理解,和大家討論討論,歡迎大家一起來學習SVN庫的目錄結構方面的知識。
1、所有項目都在一個SVN庫中么?
對于這個問題,個人認為,應該每個項目建一個SVN庫,為什么這樣說呢,因為SVN是全局版本,假如SVN庫是如下結構:
SVN庫<全局版本1.1>
┠項目A<1.1>
┖項目B<1.1>
這就會導致任何一個項目修改,影響全局版本修改,不能真實反映單個項目的版本情況。
2、SVN庫的目錄結構該怎樣規劃?
參考了國外一些主要的開發網站,如SourceForge,大同小異,類似這樣的目錄結構:
SVN庫
┠tags(發布)
┃├1.1rc1
┃├1.2
┃├1.5
┃└1.9
┠trunk(主版本)
┃└project
┃├src
┃├classes
┃└WEB-INF
┖branches(分支)
└分支
主要的開發工作放在trunk,分支放在branches,發布版本放在tags。
存儲庫
┠項目名
┃├trunk:主版本
┃├branches:分支版本(獨立版本)
┃└tags:標記版本,比如發行版v1.0/v2.0等等
3、SVN庫的管理原則:
1、項目負責人和版本管理員負責架構項目目錄結構,包括配置文件、第三方JAR文檔
2、項目負責人分配開發人員目錄權限,由版本管理員負責實施,權限分配粒度要細
3、trunk,tags,branches,項目負責人、協同版本管理員構建tags和branches
4、版本管理員負責解決開發人員在開發過程中的有關版本問題
5、開發人員每次修改,或者新增、刪除、拷貝工作區對象后,應該立刻提交到版本庫,有效保持工作區與資源庫的高度一致,每天下班之前提交、(更新)
6、開發人員在每次修改工作區中代碼或者文檔時,首先更新該對象,可以盡量減少沖突、合并
7、保證提交到的版本庫的代碼沒有BUG以免影響開發組,可以適當利用加鎖機制,減少沖突
8、項目負責人和版本管理員負責軟件的測試版,構建測試環境,branches由版本管理員進行(checkout)
9、項目負責人和版本管理員負責發布軟件的發布版,與系統部協調構建發布環境(export)
10、版本管理員負責清理有關不需要的branches,tags。本節關于SVN庫的目錄結構講解完畢。
【編輯推薦】