SVN的標準目錄結構:trunk、branches、tags
我們在一些著名開源項目的版本庫中,通??梢钥吹絫runk, branches, tags等三個目錄。由于SVN固有的特點,目錄在SVN中并沒有特別的意義,但是這三個目錄卻在大多數開源項目中存在,這是因為這三個目錄反映了軟件開發的通常模式。trunk是主分支,是日常開發進行的地方。
branches是分支。一些階段性的release版本,這些版本是可以繼續進行開發和維護的,則放在branches目錄中。又比如為不同用戶客制化的版本,也可以放在分支中進行開發。
tags目錄一般是只讀的,這里存儲階段性的發布版本,只是作為一個里程碑的版本進行存檔。
比如一個項目有main.cpp, common.h兩個文件,假設目前在開發的是最新的3.0版本,而且1.0/2.0版本也在進行維護,那么項目樹將類似如下樣子:
project
|
+-- trunk
+ |
+ +----- main.cpp (3.0版本的最新文件)
+ +----- common.h
+
+-- branches
+ |
+ +-- r1.0
+ + |
+ + +---- main.cpp (1.x版本的最新文件)
+ + +---- common.h
+ +
+ +-- r2.0
+ |
+ +---- main.cpp (2.x版本的最新文件)
+ +---- common.h
+
+-- tags (此目錄只讀)
|
+-- r1.0
+ |
+ +---- main.cpp (1.0版本的發布文件)
+ +---- common.h
+
+-- r1.1
+ |
+ +---- main.cpp (1.1版本的發布文件)
+ +---- common.h
+
+-- r1.2
+ |
+ +---- main.cpp (1.2版本的發布文件)
+ +---- common.h
+
+-- r1.3
+ |
+ +---- main.cpp (1.3版本的發布文件)
+ +---- common.h
+
+-- r2.0
+ |
+ +---- main.cpp (2.0版本的發布文件)
+ +---- common.h
+
+-- r2.1
|
+---- main.cpp (2.1版本的發布文件)
+---- common.h
要使用這樣的文件夾結構,在建立項目版本庫時,可首先建好項目文件夾,并在其中建立trunk, branches, tags三個空的子目錄,再將項目文件夾連同這三個子目錄一起導入版本庫。
這樣在trunk中開始進行開發,當需要建立branch或tag時,使用SVN的copy操作進行。
其中tags目錄需要只讀,可以使用SVN中的authz文件控制該目錄的訪問權限為只讀。
posted on 2014-05-07 00:07 paulwong 閱讀(276) 評論(0) 編輯 收藏 所屬分類: J2SE