Subversion有一個很標準的目錄結構:
project架構
+-- trunk翻譯
+-- branches開發
+-- tags (此目錄只讀)權限控制
這個標準的目錄結構咱們在大多數的開源項目中都能看到,這是由於基於這套標準目錄結構爲軟件開發提供了一種很是好的宏觀版本庫管理機制(特別是在產品類項目中)。產品
trunk爲主開發目錄,branches爲分支開發目錄,tags爲存在目錄io
1 Trunk軟件
Trunk中文翻譯爲「主幹」的意思,在項目運做過程當中,平常的開發和管理資料都在此目錄中進行維護和更新。權限
2 Branchesbug
Branches的中文意思爲「分支」,在項目運做過程當中,存放階段性成果(版本),這些階段性成果是可維護(包括爲客戶定製化的版本)。項目
3 tags
tag的中文意思爲「標籤」,此目錄爲一些階段性成果進行存檔。爲只讀目錄,不容許進行修改。
4 使用實例
好比開發項目project。當前項目進展到版本3.0.0.140224
Trunk目錄中只存儲當前最新的開發版本。
Branches目錄中存儲每一個版本最新的子版本。
Tags目錄中存儲全部發布的版本。包括標準版本和標準版本的各個子版本。
此時可能會出現的目錄結構以下:
project
|
+-- trunk
+ |
+ +----- main.cs (3.0)
+
+-- branches
+ |
+ +-- r1.3.0.120422
+ + |
+ + +---- main.cs (1.1版本的最新文件)
+ +
+ +-- r2.1.0.130422
+ |
+ +---- main.cs (2.2版本的最新文件)
+
+-- tags (此目錄只讀)
|
+-- r1.0.0.120422
+ |
+ +---- main.cs (1.0版本的發佈文件)
+
+-- r1.1.0.120622
+ |
+ +---- main.cs (1.1版本的發佈文件)
+
+-- r1.2.0.121122
+ |
+ +---- main.cs (1.2版本的發佈文件)
+
+-- r1.3.0.130422
+ |
+ +---- main.cs (1.3版本的發佈文件)
+
+-- r2.0.0.130522
+ |
+ +---- main.cs (2.0版本的發佈文件)
+
+-- r2.1.0.131222
|
+---- main.cs (2.1版本的發佈文件)
附件:
版本號定修改規則
* 主版本號(1)
:當功能模塊有較大的變更,好比增長多個模塊或者總體架構發生變化。此版本號由項目決定是否修改。
* 子版本號(1):當功能有必定的增長或變化,好比增長了對權限控制、增長自定義視圖等功能。此版本號由項目決定是否修改。 * 階段版本號(1)
:通常是 Bug 修復或是一些小的變更,要常常發佈修訂版,時間間隔不限,修復一個嚴重的bug便可發佈一個修訂版。此版本號由項目經理決定是否修改。
* 日期版本號(051021):用於記錄修改項目的當前日期,天天對項目的修改都須要更改日期版本號。此版本號由開發人員決定是否修改。
* 希臘字母版本號(beta):此版本號用於標註當前版本的軟件處於哪一個開發階段,當軟件進入到另外一個階段時須要修改此版本號。此版本號由項目決定是否修改。