1.trunk是主分支,是日常开发进行的地方,刚创建的项目一般都放在这里。
2.branches是分支。一些阶段性的发布版本,这些版本是可以继续进行开发和维护的,还有如为不同用户客户化的版本,也可以放在分支中进行开发。
3.tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 注意:svn并没有明确的规范,更多的还是用户自己的习惯。 下面是详细介绍: 比如一个项目有HelloWord.java, Test.java两个文件,假设目前在开发的是最新的3.0版本,而且1.0/2.0版本也在进行维护,那么项目树将类似如下样子: project
+-- trunk + +----- HelloWord.java (3.0版本的最新文件) + +----- Test.java
+-- branches + +-- r1.0 + + +---- HelloWord.java (1.x版本的最新文件) + + +---- Test.java ++ + +-- r2.0 + +---- HelloWord.java (2.x版本的最新文件) + +---- Test.java +-- tags (此目录只读) +-- r1.0 + +---- HelloWord.java(1.0版本的发布文件) + +---- Test.java + +-- r1.1 + +---- HellWord.java (1.1版本的发布文件) + +---- Test.java + +-- r1.2 + +---- HelloWord.java (1.2版本的发布文件) + +---- Test.java + +-- r1.3 + +---- HelloWord.java (1.3版本的发布文件) + +---- Test.java + +-- r2.0 + +---- HelloWord.java (2.0版本的发布文件) + +---- Test.java + +-- r2.1 +---- HellWord.java (2.1版本的发布文件) +---- Test.java 在trunk中进行开发时,当需要建立branch或tag时,使用SVN的copy操作进行。 其中tags目录需要只读,可以使用SVN中的authz文件控制该目录的访问权限为只读。