怎样组织svn的目录其实非常有学问,比如我们是要将多个项目放在一个svn repository下, 还是为每个项目都建立一个独立的svn repository呢? 实际上, 这两种做法各有优缺点.
使用单一svn repository的优点是:只需要维护一个svn库,工作量自然会少了很多, 这里维护工作包括routinely backup,dump以及升级svn软件. 当然缺点也很明显: 一个项目的开发人员可以访问另一个项目的文件,另外一个严重的缺点是,每个项目的commit email list很可能不同, 但如果在一个repository下,就不能为不同的项目配置不同的email list, 这样一旦项目A被commit,项目B的也会收到commit email.
下面是一个多项目的repository结构, 但项目的repository也可参照这个.
要说明的是trunk,branches和tags的意义, trunk里面维护着是项目的主要开发版本. branches是trunk版本的各类分支版本.tags是保存着trunk和branches的某一时刻的快照.
/ calc/ trunk/ tags/ branches/ calendar/ trunk/ tags/ branches/ spreadsheet/ trunk/ tags/ branches/