Thursday, July 24, 2008

How to arrange the svn repository layout

怎样组织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/

No comments: