Subversion有一个很标准的目录结构:
project
+-- trunk
+-- branches
+-- tags (此目录只读)
这个标准的目录结构我们在大多数的开源项目中都能看到,这是因为基于这套标准目录结构为软件开发提供了一种非常好的宏观版本库管理机制(特别是在产品类项目中)。
trunk为主开发目录,branches为分支开发目录,tags为存在目录.
1 Trunk
Trunk中文翻译为“主干”的意思,在项目运作过程中,日常的开发和管理资料都在此目录中进行维护和更新。
2 Branches
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版本的发布文件)