推荐给好友 上一篇 | 下一篇

单个版本库还是多个?

我前一个blog中讨论了版本库的布局,这个条目会尝试回答是选择单版本库单项目还是单版本库存放所有项目的问题,这里没有一个唯一的正确答案,但希望本文可以帮助你理解代价,你才可以做出正确的决定来满足你的需求,下面是单版本库方法的优点:

  1. 管理简单,只需要部署一组钩子,备份一个版本库等等。
  2. 分支/标签灵活性,因为所有的代码在一个版本库,这样可以容易的创建跨多个项目的分支或标签。
  3. 移动代码更简单。你或许希望把代码从一个项目移动到另一个,或者将其作为多个项目的库,这样可以容易的将代码在同一个版本库移动,并保持代码的历史。

下面是单版本库的缺点,以及多版本库的优点。

  1. 大小。对付多个小版本库会比对付一个大版本库容易,例如你结束了一个项目,你只需要归档版本库到媒介,然后从磁盘删除并释放空间。也许因为某些原 因你需要转储/导入版本库,例如利用新的Subversion特性,如果库很小,会很容易做且影响很小,即使你最终希望对所有的版本库作这些事,也比一次 完成的影响小,当然我们假定没有急迫的需要一次完成这些任务。
  2. 全局修订版本号。即使这不应该是一个问题,一些人还是要求使用一个修订版本号,不希望来看到版本库修订版本号的自己增加,造成修订版本历史的横沟。
  3. 访问控制。Subversion的authz机制允许你根据版本库的部分需要限制访问,如果你有一个项目,只有一些选定的人可以访问,对于一个版本库,这样做很简单。
  4. 管理灵活性。如果你有多个版本库,可以根据版本库/项目的需要实现不同的钩子,如果你希望统一钩子脚本,单个版本库会更好,但是如果每个项目希望自己的email样式,在不同的版本库中实现会更容易。

这里只是每种方法的赞成和反对意见,希望它可以帮助你做出决定,我更喜欢一个版本库一个项目的方法,如果我有多个项目互相关联,我会喜欢多项目单版本库的方法,我也希望通过组或团队分离版本库,尽管实际上是项目概念的变种。

例如,我有一个文档部门项目使用的版本库,当然,在这个例子里在线帮助经常与应用代码位于一个相同的项目,但是文档组也有他们制作的其他材料,我们 给了他们另一个版本库。同样的,市场部也有一个版本库存放他们需要的东西,例如公司网站。因为我们讨论版本库的布局,这是可以最好工作的决定,也可以说, 在设置好后,改变版本库可能会或多或少有点麻烦。

所以,很值得花时间理解需求来决定哪种方法更适合他们。

原始链接

Mark Phippard is Director, Subversion Engineering at CollabNet. He works on the CollabNet Subversion team and is a project owner for the Subclipse project as well as a partial committer for Subversion.



TAG: repository 版本库
 

评分:0

best web hosting
evden eve nakliyat

我来说两句