拥有多个 SVN 存储库的目的是什么?

拥有多个 SVN 存储库的目的是什么?

为什么在许多例子中人们尝试为每个项目创建单独的存储库?

为什么不拥有单一 repo 并通过 authz 文件管理访问?

现在在我看来,这只是额外的管理负担,却没有什么好处……

答案1

这取决于您的组织结构。对于许多商店来说,单个存储库就足够了。我们过去使用单个存储库,现在正在切换到多个存储库。

拆分的一个原因是权限问题。如果并非所有项目都允许访问,那么您可以允许用户只访问他们需要的项目。

对我们来说,这只是让客户端处理起来更容易一些的问题。一旦设置好,就设置好了。为了客户端的易用性,我们额外花点功夫来分解它们,这是值得的。

有时人们也会对不同类型的项目使用不同的存储库。源代码存放在一个存储库中供开发使用,产品文档存放在另一个存储库中供技术作家使用,等等。

答案2

我们使用多个存储库(每个项目一个)主要是因为这样存档/删除整个存储库要容易得多。我们的业务性质意味着我们为客户做了很多小型短期项目,这些项目我们可能永远不会再听到。能够将旧项目移至磁带存档而不干扰任何活动项目对我们来说是一大胜利。

答案3

拥有多个小型存储库使得在单个存储库中进行管理成为可能。例如,如果您必须从 SVN 中删除文件,则基本上必须在通过过滤器后重新创建存储库。这会更改修订编号。最好在单个项目上执行此操作,而不会影响所有其他项目。

如果你问我为什么要从 SVN 中删除文件(这完全违背了源代码控制的本质):你是否曾经将包含敏感信息的文件提交到你的存储库?无论是合同、客户信息、数据库密码……

相关内容