具有Tortoise SVN问题的知识库结构

时间:2009-07-31 19:35:19

标签: svn tortoisesvn

大多数人都这样构建他们的存储库,这是最佳实践

MainRepository
    Project1
       branches
       trunk
       tags
    Project2
       branches
       trunk
       tags
..and so on

是否需要创建第二个存储库?我认为大多数人只有一个人作为最佳实践而且永远不需要创造第二个,这是正确的吗?或者在某些情况下您可能想要创建多个?

6 个答案:

答案 0 :(得分:3)

我相信创建一些存储库,每个存储库包含许多相关项目。

答案 1 :(得分:2)

为每个项目创建单独的存储库对于管理存储库的生命周期很有用。使用新的1.6版本的subversion,您可以“svnadmin pack”存储库以优化访问。此外,如果您具有粒度,则可以更轻松地在服务器之间移动存储库。

如果要在两台服务器之间拆分它们或将它们放在不同的物理磁盘上,那么在高流量环境中拥有单独的存储库也有利于负载平衡。如果您将所有项目都放在一个存储库中,那么您需要进行备份并运行svndumpfilter工具来过滤掉您不想要的树的部分。如果您跨项目进行任何分支,那么当它尝试恢复数据时会出现一些问题,因为源路径不再可用。

答案 2 :(得分:2)

我是每种数据的一个存储库。所有源代码和供应商库将进入一个存储库,另一个存储库用于构建结果和发布。部署库的另一个存储库。公司文档的另一个存储库等

基本上,当使用存储库的规则发生更改时,单独的存储库。这使您可以灵活地进行布局,挂钩和授权等。

例如,您希望销售团队的文字文档受源代码管理吗?好主意,但您可能不需要主干/标签/分支,访问它的用户是非常不同的。结构将完全不同,所以突然间尝试将其与源代码库相关联是没有意义的。

有些人使用多个物理存储库作为源代码。在我的脑海中,我认为这是一个单独的元库,其中数据的分片是为了方便,性能或安全问题。

答案 3 :(得分:1)

完成这两种方式后,我发现拥有多个存储库会更加痛苦。更多管理访问的地方等......

话虽如此,我相信一个小组应该管理自己的存储库,而不应该处于企业级别。

答案 4 :(得分:1)

我们将项目完全分开。将一个修订版号分散到多个相关项目中是件好事,但作为一名前IT经理,我对于腐败和将所有内容堆叠成一个“篮子”的失败感到太偏执了。

答案 5 :(得分:0)

作为一名顾问,我有多个存储库,因此某些客户无法通过某些意外查看/访问其他客户的代码。