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檔案控制該目錄的訪問許可權為只讀。