提倡一个仓库对应一个项目,此项目可能产生许多小项目,其它项目可能借鉴之前项目的某个模块。针对svn,我们是这样实现的。

考虑到权限设置的问题,我们设计的目录结构如下:

branches 

 

    sub_project1

        branch1

        branch2

        branch3

    sub_project2

    sub_project3

 

labels

 

    sub_project1

    sub_project2

    sub_project3

 

trunk

    common

 

trunk只做通用代码,对于特殊代码写到分支中去。在本地拉全套代码时,使用脚本将分支中的代码覆盖common中的相同代码。有的时候会出现之前是common的代码后来却不是common了,此时我们会在trunk上删除此非common的代码。